zerc20-client-sdk 0.1.0 → 0.1.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.
- package/dist/assets/abi/Adaptor.json +1 -0
- package/dist/assets/abi/Hub.json +1 -1443
- package/dist/assets/abi/LiquidityManager.json +1 -0
- package/dist/assets/abi/Verifier.json +1 -1935
- package/dist/assets/abi/zERC20.json +1 -919
- package/dist/assets/wasm/node/zkerc20_wasm.d.ts +2 -2
- package/dist/assets/wasm/node/zkerc20_wasm.js +62 -63
- package/dist/assets/wasm/node/zkerc20_wasm_bg.wasm +0 -0
- package/dist/assets/wasm/node/zkerc20_wasm_bg.wasm.d.ts +4 -4
- package/dist/assets/wasm/web/zkerc20_wasm.d.ts +6 -6
- package/dist/assets/wasm/web/zkerc20_wasm.js +58 -59
- package/dist/assets/wasm/web/zkerc20_wasm_bg.wasm +0 -0
- package/dist/assets/wasm/web/zkerc20_wasm_bg.wasm.d.ts +4 -4
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/onchain/contracts.d.ts +15621 -1555
- package/dist/onchain/contracts.d.ts.map +1 -1
- package/dist/onchain/contracts.js +12 -4
- package/dist/onchain/contracts.js.map +1 -1
- package/dist/operations/liquidityManager.d.ts +92 -0
- package/dist/operations/liquidityManager.d.ts.map +1 -0
- package/dist/operations/liquidityManager.js +282 -0
- package/dist/operations/liquidityManager.js.map +1 -0
- package/dist/registry/tokens.d.ts +4 -0
- package/dist/registry/tokens.d.ts.map +1 -1
- package/dist/registry/tokens.js +25 -0
- package/dist/registry/tokens.js.map +1 -1
- package/dist/utils/__tests__/merkle.test.js +6 -6
- package/dist/utils/__tests__/merkle.test.js.map +1 -1
- package/dist/utils/merkle.d.ts +1 -1
- package/dist/utils/merkle.d.ts.map +1 -1
- package/dist/utils/merkle.js +22 -9
- package/dist/utils/merkle.js.map +1 -1
- package/dist/zkp/proofService.d.ts.map +1 -1
- package/dist/zkp/proofService.js +2 -0
- package/dist/zkp/proofService.js.map +1 -1
- package/dist/zkp/proofUtils.d.ts.map +1 -1
- package/dist/zkp/proofUtils.js +1 -0
- package/dist/zkp/proofUtils.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/abi/Minter.json +0 -666
- package/dist/operations/minter.d.ts +0 -18
- package/dist/operations/minter.d.ts.map +0 -1
- package/dist/operations/minter.js +0 -77
- package/dist/operations/minter.js.map +0 -1
package/dist/assets/abi/Hub.json
CHANGED
|
@@ -1,1443 +1 @@
|
|
|
1
|
-
{
|
|
2
|
-
"abi": [
|
|
3
|
-
{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" },
|
|
4
|
-
{
|
|
5
|
-
"type": "function",
|
|
6
|
-
"name": "MAX_LEAVES",
|
|
7
|
-
"inputs": [],
|
|
8
|
-
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
9
|
-
"stateMutability": "view"
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"type": "function",
|
|
13
|
-
"name": "aggSeq",
|
|
14
|
-
"inputs": [],
|
|
15
|
-
"outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }],
|
|
16
|
-
"stateMutability": "view"
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"type": "function",
|
|
20
|
-
"name": "allowInitializePath",
|
|
21
|
-
"inputs": [
|
|
22
|
-
{
|
|
23
|
-
"name": "origin",
|
|
24
|
-
"type": "tuple",
|
|
25
|
-
"internalType": "struct Origin",
|
|
26
|
-
"components": [
|
|
27
|
-
{ "name": "srcEid", "type": "uint32", "internalType": "uint32" },
|
|
28
|
-
{ "name": "sender", "type": "bytes32", "internalType": "bytes32" },
|
|
29
|
-
{ "name": "nonce", "type": "uint64", "internalType": "uint64" }
|
|
30
|
-
]
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
|
|
34
|
-
"stateMutability": "view"
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"type": "function",
|
|
38
|
-
"name": "broadcast",
|
|
39
|
-
"inputs": [
|
|
40
|
-
{ "name": "targetEids", "type": "uint32[]", "internalType": "uint32[]" },
|
|
41
|
-
{ "name": "lzOptions", "type": "bytes", "internalType": "bytes" }
|
|
42
|
-
],
|
|
43
|
-
"outputs": [],
|
|
44
|
-
"stateMutability": "payable"
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"type": "function",
|
|
48
|
-
"name": "eidToPosition",
|
|
49
|
-
"inputs": [{ "name": "", "type": "uint32", "internalType": "uint32" }],
|
|
50
|
-
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
51
|
-
"stateMutability": "view"
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"type": "function",
|
|
55
|
-
"name": "endpoint",
|
|
56
|
-
"inputs": [],
|
|
57
|
-
"outputs": [
|
|
58
|
-
{ "name": "", "type": "address", "internalType": "contract ILayerZeroEndpointV2" }
|
|
59
|
-
],
|
|
60
|
-
"stateMutability": "view"
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
"type": "function",
|
|
64
|
-
"name": "getTokenInfos",
|
|
65
|
-
"inputs": [],
|
|
66
|
-
"outputs": [
|
|
67
|
-
{
|
|
68
|
-
"name": "infos",
|
|
69
|
-
"type": "tuple[]",
|
|
70
|
-
"internalType": "struct Hub.TokenInfo[]",
|
|
71
|
-
"components": [
|
|
72
|
-
{ "name": "chainId", "type": "uint64", "internalType": "uint64" },
|
|
73
|
-
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
|
|
74
|
-
{ "name": "verifier", "type": "address", "internalType": "address" },
|
|
75
|
-
{ "name": "token", "type": "address", "internalType": "address" }
|
|
76
|
-
]
|
|
77
|
-
}
|
|
78
|
-
],
|
|
79
|
-
"stateMutability": "view"
|
|
80
|
-
},
|
|
81
|
-
{
|
|
82
|
-
"type": "function",
|
|
83
|
-
"name": "initialize",
|
|
84
|
-
"inputs": [
|
|
85
|
-
{ "name": "endpoint", "type": "address", "internalType": "address" },
|
|
86
|
-
{ "name": "delegate", "type": "address", "internalType": "address" }
|
|
87
|
-
],
|
|
88
|
-
"outputs": [],
|
|
89
|
-
"stateMutability": "nonpayable"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"type": "function",
|
|
93
|
-
"name": "isComposeMsgSender",
|
|
94
|
-
"inputs": [
|
|
95
|
-
{
|
|
96
|
-
"name": "",
|
|
97
|
-
"type": "tuple",
|
|
98
|
-
"internalType": "struct Origin",
|
|
99
|
-
"components": [
|
|
100
|
-
{ "name": "srcEid", "type": "uint32", "internalType": "uint32" },
|
|
101
|
-
{ "name": "sender", "type": "bytes32", "internalType": "bytes32" },
|
|
102
|
-
{ "name": "nonce", "type": "uint64", "internalType": "uint64" }
|
|
103
|
-
]
|
|
104
|
-
},
|
|
105
|
-
{ "name": "", "type": "bytes", "internalType": "bytes" },
|
|
106
|
-
{ "name": "_sender", "type": "address", "internalType": "address" }
|
|
107
|
-
],
|
|
108
|
-
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
|
|
109
|
-
"stateMutability": "view"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"type": "function",
|
|
113
|
-
"name": "isUpToDate",
|
|
114
|
-
"inputs": [],
|
|
115
|
-
"outputs": [{ "name": "", "type": "bool", "internalType": "bool" }],
|
|
116
|
-
"stateMutability": "view"
|
|
117
|
-
},
|
|
118
|
-
{
|
|
119
|
-
"type": "function",
|
|
120
|
-
"name": "lzReceive",
|
|
121
|
-
"inputs": [
|
|
122
|
-
{
|
|
123
|
-
"name": "origin",
|
|
124
|
-
"type": "tuple",
|
|
125
|
-
"internalType": "struct Origin",
|
|
126
|
-
"components": [
|
|
127
|
-
{ "name": "srcEid", "type": "uint32", "internalType": "uint32" },
|
|
128
|
-
{ "name": "sender", "type": "bytes32", "internalType": "bytes32" },
|
|
129
|
-
{ "name": "nonce", "type": "uint64", "internalType": "uint64" }
|
|
130
|
-
]
|
|
131
|
-
},
|
|
132
|
-
{ "name": "guid", "type": "bytes32", "internalType": "bytes32" },
|
|
133
|
-
{ "name": "payload", "type": "bytes", "internalType": "bytes" },
|
|
134
|
-
{ "name": "executor", "type": "address", "internalType": "address" },
|
|
135
|
-
{ "name": "extraData", "type": "bytes", "internalType": "bytes" }
|
|
136
|
-
],
|
|
137
|
-
"outputs": [],
|
|
138
|
-
"stateMutability": "payable"
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
"type": "function",
|
|
142
|
-
"name": "nextNonce",
|
|
143
|
-
"inputs": [
|
|
144
|
-
{ "name": "", "type": "uint32", "internalType": "uint32" },
|
|
145
|
-
{ "name": "", "type": "bytes32", "internalType": "bytes32" }
|
|
146
|
-
],
|
|
147
|
-
"outputs": [{ "name": "nonce", "type": "uint64", "internalType": "uint64" }],
|
|
148
|
-
"stateMutability": "view"
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
"type": "function",
|
|
152
|
-
"name": "oAppVersion",
|
|
153
|
-
"inputs": [],
|
|
154
|
-
"outputs": [
|
|
155
|
-
{ "name": "senderVersion", "type": "uint64", "internalType": "uint64" },
|
|
156
|
-
{ "name": "receiverVersion", "type": "uint64", "internalType": "uint64" }
|
|
157
|
-
],
|
|
158
|
-
"stateMutability": "view"
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
"type": "function",
|
|
162
|
-
"name": "owner",
|
|
163
|
-
"inputs": [],
|
|
164
|
-
"outputs": [{ "name": "", "type": "address", "internalType": "address" }],
|
|
165
|
-
"stateMutability": "view"
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
"type": "function",
|
|
169
|
-
"name": "peers",
|
|
170
|
-
"inputs": [{ "name": "eid", "type": "uint32", "internalType": "uint32" }],
|
|
171
|
-
"outputs": [{ "name": "peer", "type": "bytes32", "internalType": "bytes32" }],
|
|
172
|
-
"stateMutability": "view"
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
"type": "function",
|
|
176
|
-
"name": "proxiableUUID",
|
|
177
|
-
"inputs": [],
|
|
178
|
-
"outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }],
|
|
179
|
-
"stateMutability": "view"
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
"type": "function",
|
|
183
|
-
"name": "quoteBroadcast",
|
|
184
|
-
"inputs": [
|
|
185
|
-
{ "name": "targetEids", "type": "uint32[]", "internalType": "uint32[]" },
|
|
186
|
-
{ "name": "lzOptions", "type": "bytes", "internalType": "bytes" }
|
|
187
|
-
],
|
|
188
|
-
"outputs": [{ "name": "totalNativeFee", "type": "uint256", "internalType": "uint256" }],
|
|
189
|
-
"stateMutability": "view"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"type": "function",
|
|
193
|
-
"name": "registerToken",
|
|
194
|
-
"inputs": [
|
|
195
|
-
{
|
|
196
|
-
"name": "info",
|
|
197
|
-
"type": "tuple",
|
|
198
|
-
"internalType": "struct Hub.TokenInfo",
|
|
199
|
-
"components": [
|
|
200
|
-
{ "name": "chainId", "type": "uint64", "internalType": "uint64" },
|
|
201
|
-
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
|
|
202
|
-
{ "name": "verifier", "type": "address", "internalType": "address" },
|
|
203
|
-
{ "name": "token", "type": "address", "internalType": "address" }
|
|
204
|
-
]
|
|
205
|
-
}
|
|
206
|
-
],
|
|
207
|
-
"outputs": [],
|
|
208
|
-
"stateMutability": "nonpayable"
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
"type": "function",
|
|
212
|
-
"name": "renounceOwnership",
|
|
213
|
-
"inputs": [],
|
|
214
|
-
"outputs": [],
|
|
215
|
-
"stateMutability": "nonpayable"
|
|
216
|
-
},
|
|
217
|
-
{
|
|
218
|
-
"type": "function",
|
|
219
|
-
"name": "setDelegate",
|
|
220
|
-
"inputs": [{ "name": "_delegate", "type": "address", "internalType": "address" }],
|
|
221
|
-
"outputs": [],
|
|
222
|
-
"stateMutability": "nonpayable"
|
|
223
|
-
},
|
|
224
|
-
{
|
|
225
|
-
"type": "function",
|
|
226
|
-
"name": "setPeer",
|
|
227
|
-
"inputs": [
|
|
228
|
-
{ "name": "_eid", "type": "uint32", "internalType": "uint32" },
|
|
229
|
-
{ "name": "_peer", "type": "bytes32", "internalType": "bytes32" }
|
|
230
|
-
],
|
|
231
|
-
"outputs": [],
|
|
232
|
-
"stateMutability": "nonpayable"
|
|
233
|
-
},
|
|
234
|
-
{
|
|
235
|
-
"type": "function",
|
|
236
|
-
"name": "tokenInfos",
|
|
237
|
-
"inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
238
|
-
"outputs": [
|
|
239
|
-
{ "name": "chainId", "type": "uint64", "internalType": "uint64" },
|
|
240
|
-
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
|
|
241
|
-
{ "name": "verifier", "type": "address", "internalType": "address" },
|
|
242
|
-
{ "name": "token", "type": "address", "internalType": "address" }
|
|
243
|
-
],
|
|
244
|
-
"stateMutability": "view"
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
"type": "function",
|
|
248
|
-
"name": "transferOwnership",
|
|
249
|
-
"inputs": [{ "name": "newOwner", "type": "address", "internalType": "address" }],
|
|
250
|
-
"outputs": [],
|
|
251
|
-
"stateMutability": "nonpayable"
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
"type": "function",
|
|
255
|
-
"name": "transferRoots",
|
|
256
|
-
"inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
257
|
-
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
258
|
-
"stateMutability": "view"
|
|
259
|
-
},
|
|
260
|
-
{
|
|
261
|
-
"type": "function",
|
|
262
|
-
"name": "transferTreeIndices",
|
|
263
|
-
"inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
264
|
-
"outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }],
|
|
265
|
-
"stateMutability": "view"
|
|
266
|
-
},
|
|
267
|
-
{
|
|
268
|
-
"type": "function",
|
|
269
|
-
"name": "updateToken",
|
|
270
|
-
"inputs": [
|
|
271
|
-
{
|
|
272
|
-
"name": "info",
|
|
273
|
-
"type": "tuple",
|
|
274
|
-
"internalType": "struct Hub.TokenInfo",
|
|
275
|
-
"components": [
|
|
276
|
-
{ "name": "chainId", "type": "uint64", "internalType": "uint64" },
|
|
277
|
-
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
|
|
278
|
-
{ "name": "verifier", "type": "address", "internalType": "address" },
|
|
279
|
-
{ "name": "token", "type": "address", "internalType": "address" }
|
|
280
|
-
]
|
|
281
|
-
}
|
|
282
|
-
],
|
|
283
|
-
"outputs": [],
|
|
284
|
-
"stateMutability": "nonpayable"
|
|
285
|
-
},
|
|
286
|
-
{
|
|
287
|
-
"type": "function",
|
|
288
|
-
"name": "upgradeTo",
|
|
289
|
-
"inputs": [{ "name": "newImplementation", "type": "address", "internalType": "address" }],
|
|
290
|
-
"outputs": [],
|
|
291
|
-
"stateMutability": "nonpayable"
|
|
292
|
-
},
|
|
293
|
-
{
|
|
294
|
-
"type": "function",
|
|
295
|
-
"name": "upgradeToAndCall",
|
|
296
|
-
"inputs": [
|
|
297
|
-
{ "name": "newImplementation", "type": "address", "internalType": "address" },
|
|
298
|
-
{ "name": "data", "type": "bytes", "internalType": "bytes" }
|
|
299
|
-
],
|
|
300
|
-
"outputs": [],
|
|
301
|
-
"stateMutability": "payable"
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
"type": "function",
|
|
305
|
-
"name": "zeroHash",
|
|
306
|
-
"inputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
307
|
-
"outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }],
|
|
308
|
-
"stateMutability": "view"
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
"type": "event",
|
|
312
|
-
"name": "AdminChanged",
|
|
313
|
-
"inputs": [
|
|
314
|
-
{ "name": "previousAdmin", "type": "address", "indexed": false, "internalType": "address" },
|
|
315
|
-
{ "name": "newAdmin", "type": "address", "indexed": false, "internalType": "address" }
|
|
316
|
-
],
|
|
317
|
-
"anonymous": false
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
"type": "event",
|
|
321
|
-
"name": "AggregationRootUpdated",
|
|
322
|
-
"inputs": [
|
|
323
|
-
{ "name": "root", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
324
|
-
{ "name": "aggSeq", "type": "uint64", "indexed": true, "internalType": "uint64" },
|
|
325
|
-
{
|
|
326
|
-
"name": "transferRootsSnapshot",
|
|
327
|
-
"type": "uint256[]",
|
|
328
|
-
"indexed": false,
|
|
329
|
-
"internalType": "uint256[]"
|
|
330
|
-
},
|
|
331
|
-
{
|
|
332
|
-
"name": "transferTreeIndicesSnapshot",
|
|
333
|
-
"type": "uint64[]",
|
|
334
|
-
"indexed": false,
|
|
335
|
-
"internalType": "uint64[]"
|
|
336
|
-
}
|
|
337
|
-
],
|
|
338
|
-
"anonymous": false
|
|
339
|
-
},
|
|
340
|
-
{
|
|
341
|
-
"type": "event",
|
|
342
|
-
"name": "BeaconUpgraded",
|
|
343
|
-
"inputs": [
|
|
344
|
-
{ "name": "beacon", "type": "address", "indexed": true, "internalType": "address" }
|
|
345
|
-
],
|
|
346
|
-
"anonymous": false
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
"type": "event",
|
|
350
|
-
"name": "Initialized",
|
|
351
|
-
"inputs": [{ "name": "version", "type": "uint8", "indexed": false, "internalType": "uint8" }],
|
|
352
|
-
"anonymous": false
|
|
353
|
-
},
|
|
354
|
-
{
|
|
355
|
-
"type": "event",
|
|
356
|
-
"name": "OwnershipTransferred",
|
|
357
|
-
"inputs": [
|
|
358
|
-
{ "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" },
|
|
359
|
-
{ "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" }
|
|
360
|
-
],
|
|
361
|
-
"anonymous": false
|
|
362
|
-
},
|
|
363
|
-
{
|
|
364
|
-
"type": "event",
|
|
365
|
-
"name": "PeerSet",
|
|
366
|
-
"inputs": [
|
|
367
|
-
{ "name": "eid", "type": "uint32", "indexed": false, "internalType": "uint32" },
|
|
368
|
-
{ "name": "peer", "type": "bytes32", "indexed": false, "internalType": "bytes32" }
|
|
369
|
-
],
|
|
370
|
-
"anonymous": false
|
|
371
|
-
},
|
|
372
|
-
{
|
|
373
|
-
"type": "event",
|
|
374
|
-
"name": "TokenRegistered",
|
|
375
|
-
"inputs": [
|
|
376
|
-
{ "name": "eid", "type": "uint32", "indexed": true, "internalType": "uint32" },
|
|
377
|
-
{ "name": "index", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
378
|
-
{ "name": "chainId", "type": "uint64", "indexed": false, "internalType": "uint64" },
|
|
379
|
-
{ "name": "token", "type": "address", "indexed": false, "internalType": "address" },
|
|
380
|
-
{ "name": "verifier", "type": "address", "indexed": false, "internalType": "address" }
|
|
381
|
-
],
|
|
382
|
-
"anonymous": false
|
|
383
|
-
},
|
|
384
|
-
{
|
|
385
|
-
"type": "event",
|
|
386
|
-
"name": "TokenUpdated",
|
|
387
|
-
"inputs": [
|
|
388
|
-
{ "name": "eid", "type": "uint32", "indexed": true, "internalType": "uint32" },
|
|
389
|
-
{ "name": "index", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
390
|
-
{ "name": "chainId", "type": "uint64", "indexed": false, "internalType": "uint64" },
|
|
391
|
-
{ "name": "token", "type": "address", "indexed": false, "internalType": "address" },
|
|
392
|
-
{ "name": "verifier", "type": "address", "indexed": false, "internalType": "address" }
|
|
393
|
-
],
|
|
394
|
-
"anonymous": false
|
|
395
|
-
},
|
|
396
|
-
{
|
|
397
|
-
"type": "event",
|
|
398
|
-
"name": "TransferRootUpdated",
|
|
399
|
-
"inputs": [
|
|
400
|
-
{ "name": "eid", "type": "uint32", "indexed": true, "internalType": "uint32" },
|
|
401
|
-
{ "name": "index", "type": "uint256", "indexed": true, "internalType": "uint256" },
|
|
402
|
-
{ "name": "newRoot", "type": "uint256", "indexed": false, "internalType": "uint256" }
|
|
403
|
-
],
|
|
404
|
-
"anonymous": false
|
|
405
|
-
},
|
|
406
|
-
{
|
|
407
|
-
"type": "event",
|
|
408
|
-
"name": "Upgraded",
|
|
409
|
-
"inputs": [
|
|
410
|
-
{ "name": "implementation", "type": "address", "indexed": true, "internalType": "address" }
|
|
411
|
-
],
|
|
412
|
-
"anonymous": false
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
"type": "error",
|
|
416
|
-
"name": "FeeRefundFailed",
|
|
417
|
-
"inputs": [{ "name": "amount", "type": "uint256", "internalType": "uint256" }]
|
|
418
|
-
},
|
|
419
|
-
{ "type": "error", "name": "HubCapacityReached", "inputs": [] },
|
|
420
|
-
{ "type": "error", "name": "InvalidChainId", "inputs": [] },
|
|
421
|
-
{ "type": "error", "name": "InvalidDelegate", "inputs": [] },
|
|
422
|
-
{ "type": "error", "name": "InvalidEndpointCall", "inputs": [] },
|
|
423
|
-
{
|
|
424
|
-
"type": "error",
|
|
425
|
-
"name": "InvalidPayloadLength",
|
|
426
|
-
"inputs": [{ "name": "length", "type": "uint256", "internalType": "uint256" }]
|
|
427
|
-
},
|
|
428
|
-
{
|
|
429
|
-
"type": "error",
|
|
430
|
-
"name": "LayerZeroTokenFeeUnsupported",
|
|
431
|
-
"inputs": [
|
|
432
|
-
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
|
|
433
|
-
{ "name": "lzTokenFee", "type": "uint256", "internalType": "uint256" }
|
|
434
|
-
]
|
|
435
|
-
},
|
|
436
|
-
{ "type": "error", "name": "LzTokenUnavailable", "inputs": [] },
|
|
437
|
-
{
|
|
438
|
-
"type": "error",
|
|
439
|
-
"name": "NativeFeeMismatch",
|
|
440
|
-
"inputs": [
|
|
441
|
-
{ "name": "provided", "type": "uint256", "internalType": "uint256" },
|
|
442
|
-
{ "name": "required", "type": "uint256", "internalType": "uint256" }
|
|
443
|
-
]
|
|
444
|
-
},
|
|
445
|
-
{
|
|
446
|
-
"type": "error",
|
|
447
|
-
"name": "NoPeer",
|
|
448
|
-
"inputs": [{ "name": "eid", "type": "uint32", "internalType": "uint32" }]
|
|
449
|
-
},
|
|
450
|
-
{
|
|
451
|
-
"type": "error",
|
|
452
|
-
"name": "NotEnoughNative",
|
|
453
|
-
"inputs": [{ "name": "msgValue", "type": "uint256", "internalType": "uint256" }]
|
|
454
|
-
},
|
|
455
|
-
{
|
|
456
|
-
"type": "error",
|
|
457
|
-
"name": "OnlyEndpoint",
|
|
458
|
-
"inputs": [{ "name": "addr", "type": "address", "internalType": "address" }]
|
|
459
|
-
},
|
|
460
|
-
{
|
|
461
|
-
"type": "error",
|
|
462
|
-
"name": "OnlyPeer",
|
|
463
|
-
"inputs": [
|
|
464
|
-
{ "name": "eid", "type": "uint32", "internalType": "uint32" },
|
|
465
|
-
{ "name": "sender", "type": "bytes32", "internalType": "bytes32" }
|
|
466
|
-
]
|
|
467
|
-
},
|
|
468
|
-
{
|
|
469
|
-
"type": "error",
|
|
470
|
-
"name": "TokenAlreadyRegistered",
|
|
471
|
-
"inputs": [{ "name": "eid", "type": "uint32", "internalType": "uint32" }]
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
"type": "error",
|
|
475
|
-
"name": "TokenNotRegistered",
|
|
476
|
-
"inputs": [{ "name": "eid", "type": "uint32", "internalType": "uint32" }]
|
|
477
|
-
},
|
|
478
|
-
{ "type": "error", "name": "ZeroToken", "inputs": [] },
|
|
479
|
-
{ "type": "error", "name": "ZeroVerifier", "inputs": [] }
|
|
480
|
-
],
|
|
481
|
-
"bytecode": {
|
|
482
|
-
"object": "0x60a060405230608052348015610013575f5ffd5b5061001c610021565b6100dd565b5f54610100900460ff161561008c5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff908116146100db575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6080516133e46101115f395f8181610b6801528181610ba801528181610d7b01528181610dbb0152610e4801526133e45ff3fe6080604052600436106101ba575f3560e01c80635e280f11116100f25780638e3a428e11610092578063ca5eb5e111610062578063ca5eb5e11461053d578063cab45f121461055c578063f2fde38b1461056f578063ff7bd03d1461058e575f5ffd5b80638e3a428e146104b45780638f84778d146104d3578063bb0b6a53146104f2578063c0d03dd41461051d575f5ffd5b80637c13774b116100cd5780637c13774b146103fc5780637d25a05e1461045957806382413eac146104785780638da5cb5b14610497575f5ffd5b80635e280f111461039257806362b32f58146103c9578063715018a6146103e8575f5ffd5b80633659cfe61161015d578063485cc95511610138578063485cc955146103155780634f1ef2861461033457806352d1902d14610347578063534dc25e1461035b575f5ffd5b80633659cfe6146102a657806341b4631e146102c5578063442bde04146102e4575f5ffd5b8063193695eb11610198578063193695eb1461021b5780632dd992be1461023c578063327a75d2146102685780633400288b14610287575f5ffd5b8063082febf0146101be57806313137d65146101e557806317442b70146101fa575b5f5ffd5b3480156101c9575f5ffd5b506101d2604081565b6040519081526020015b60405180910390f35b6101f86101f3366004612a3f565b6105ad565b005b348015610205575f5ffd5b50604080516001815260026020820152016101dc565b348015610226575f5ffd5b5061022f61074e565b6040516101dc9190612ad9565b348015610247575f5ffd5b506101d2610256366004612b6d565b6101926020525f908152604090205481565b348015610273575f5ffd5b506101f8610282366004612b88565b61086d565b348015610292575f5ffd5b506101f86102a1366004612ba1565b610b48565b3480156102b1575f5ffd5b506101f86102c0366004612bcb565b610b5e565b3480156102d0575f5ffd5b506101d26102df366004612be6565b610c3b565b3480156102ef575f5ffd5b5061019a5461030590600160401b900460ff1681565b60405190151581526020016101dc565b348015610320575f5ffd5b506101f861032f366004612bfd565b610c52565b6101f8610342366004612c78565b610d71565b348015610352575f5ffd5b506101d2610e3c565b348015610366575f5ffd5b5061037a610375366004612be6565b610eed565b6040516001600160401b0390911681526020016101dc565b34801561039d575f5ffd5b506065546103b1906001600160a01b031681565b6040516001600160a01b0390911681526020016101dc565b3480156103d4575f5ffd5b506101f86103e3366004612b88565b610f28565b3480156103f3575f5ffd5b506101f86110f7565b348015610407575f5ffd5b5061041b610416366004612be6565b61110a565b604080516001600160401b03909516855263ffffffff90931660208501526001600160a01b03918216928401929092521660608201526080016101dc565b348015610464575f5ffd5b5061037a610473366004612ba1565b611162565b348015610483575f5ffd5b50610305610492366004612d1d565b61116a565b3480156104a2575f5ffd5b506033546001600160a01b03166103b1565b3480156104bf575f5ffd5b506101d26104ce366004612d7f565b61117f565b3480156104de575f5ffd5b506101d26104ed366004612be6565b61125f565b3480156104fd575f5ffd5b506101d261050c366004612b6d565b60666020525f908152604090205481565b348015610528575f5ffd5b5061019a5461037a906001600160401b031681565b348015610548575f5ffd5b506101f8610557366004612bcb565b61127f565b6101f861056a366004612d7f565b61130b565b34801561057a575f5ffd5b506101f8610589366004612bcb565b61156a565b348015610599575f5ffd5b506103056105a8366004612e17565b6115e0565b6065546001600160a01b031633146105df576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b6101925f6105f060208a018a612b6d565b63ffffffff1663ffffffff1681526020019081526020015f20545f0361063f5761061d6020880188612b6d565b6040516395373a4d60e01b815263ffffffff90911660048201526024016105d6565b6040841461066357604051637b0ef91960e11b8152600481018590526024016105d6565b5f60668161067460208b018b612b6d565b63ffffffff16815260208101919091526040015f2054905080156106db57876020013581146106d6576106aa6020890189612b6d565b60405163309afaf360e21b815263ffffffff9091166004820152602089013560248201526044016105d6565b610735565b5f6106ee6033546001600160a01b031690565b6001600160a01b03169050602089013581146107335761071160208a018a612b6d565b60405163f6ff4fb760e01b815263ffffffff90911660048201526024016105d6565b505b61074488888888888888611614565b5050505050505050565b61019154606090806001600160401b0381111561076d5761076d612c34565b6040519080825280602002602001820160405280156107bd57816020015b604080516080810182525f8082526020808301829052928201819052606082015282525f1990920191018161078b5790505b5091505f5b818110156108685761019181815481106107de576107de612e31565b5f91825260209182902060408051608081018252600290930290910180546001600160401b038116845263ffffffff600160401b820416948401949094526001600160a01b03600160601b909404841691830191909152600101549091166060820152835184908390811061085557610855612e31565b60209081029190910101526001016107c2565b505090565b610875611799565b5f6108866060830160408401612bcb565b6001600160a01b0316036108ad57604051634a8bdce360e01b815260040160405180910390fd5b5f6108be6080830160608401612bcb565b6001600160a01b0316036108e55760405163ad1991f560e01b815260040160405180910390fd5b6108f26020820182612e59565b6001600160401b03165f0361091a57604051633d23e4d160e11b815260040160405180910390fd5b6101925f61092e6040840160208501612b6d565b63ffffffff16815260208101919091526040015f20541561097b576109596040820160208301612b6d565b6040516303ac826d60e11b815263ffffffff90911660048201526024016105d6565b61018f5460401161099f5760405163aae9790560e01b815260040160405180910390fd5b61018f805460018082019092555f7f77f3f3fc840536973a5d96a2bc039249e1d449fdef2adeb2ff7a19910de0ff24820181905561019080548085019091557fbd5c86c9fbaa47a598cf55ad1cee7a1d8f8450857cb10e0f122503b8c0e652436004820401805460039092166008026101000a6001600160401b03021990911690556101918054938401815590529082907ffb4a0ff48df6de8777afc824e4cbf267beb8602db7c5a7456c954593226c1fd5600290910201610a618282612e74565b50610a6f9050816001612f48565b6101925f610a836040860160208701612b6d565b63ffffffff16815260208082019290925260409081015f209290925561019a805460ff60401b191690558291610abe91908501908501612b6d565b63ffffffff167f42fe6078ecf798fc0c6f4af46726da5c84c10a513e502b345ef1f709383485ff610af26020860186612e59565b610b026080870160608801612bcb565b610b126060880160408901612bcb565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a35050565b610b50611799565b610b5a82826117f3565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ba65760405162461bcd60e51b81526004016105d690612f5b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bee5f5160206133685f395f51905f52546001600160a01b031690565b6001600160a01b031614610c145760405162461bcd60e51b81526004016105d690612fa7565b610c1d81611847565b604080515f80825260208201909252610c389183919061184f565b50565b6101938160078110610c4b575f80fd5b0154905081565b5f54610100900460ff1615808015610c7057505f54600160ff909116105b80610c895750303b158015610c8957505f5460ff166001145b610cec5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d6565b5f805460ff191660011790558015610d0d575f805461ff0019166101001790555b610d1783836119b9565b610d1f6119e9565b610d27611a0f565b8015610d6c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db95760405162461bcd60e51b81526004016105d690612f5b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e015f5160206133685f395f51905f52546001600160a01b031690565b6001600160a01b031614610e275760405162461bcd60e51b81526004016105d690612fa7565b610e3082611847565b610b5a8282600161184f565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610edb5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105d6565b505f5160206133685f395f51905f5290565b6101908181548110610efd575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b610f30611799565b5f610f416060830160408401612bcb565b6001600160a01b031603610f6857604051634a8bdce360e01b815260040160405180910390fd5b5f610f796080830160608401612bcb565b6001600160a01b031603610fa05760405163ad1991f560e01b815260040160405180910390fd5b610fad6020820182612e59565b6001600160401b03165f03610fd557604051633d23e4d160e11b815260040160405180910390fd5b5f61019281610fea6040850160208601612b6d565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f0361101d5761061d6040830160208401612b6d565b5f611029600183612ff3565b905082610191828154811061104057611040612e31565b905f5260205f20906002020181816110589190612e74565b5081905061106c6040850160208601612b6d565b63ffffffff167ff254892b05ecf2fbbe2e66c39a4bebc6e86a32b0e7d4d0385643284e8fececaf6110a06020870187612e59565b6110b06080880160608901612bcb565b6110c06060890160408a01612bcb565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a3505050565b6110ff611799565b6111085f611a98565b565b610191818154811061111a575f80fd5b5f918252602090912060029091020180546001909101546001600160401b038216925063ffffffff600160401b830416916001600160a01b03600160601b9091048116911684565b5f5b92915050565b6001600160a01b03811630145b949350505050565b5f5f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250604051949550936111d993508492506001915060200191825260ff16602082015260400190565b60408051601f19818403018152919052905061125487878385826001600160401b0381111561120a5761120a612c34565b60405190808252806020026020018201604052801561124e57816020015b604080518082019091525f80825260208201528152602001906001900390816112285790505b50611ae9565b979650505050505050565b61018f818154811061126f575f80fd5b5f91825260209091200154905081565b611287611799565b6001600160a01b0381166112ae57604051632d618d8160e21b815260040160405180910390fd5b60655460405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b1580156112f2575f5ffd5b505af1158015611304573d5f5f3e3d5ffd5b5050505050565b5f611314611be8565b90505f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093945088925050506001600160401b0381111561136757611367612c34565b6040519080825280602002602001820160405280156113ab57816020015b604080518082019091525f80825260208201528152602001906001900390816113855790505b5090505f6113c0888886608001518686611ae9565b9050803410156113ec576040516311681bff60e21b8152346004820152602481018290526044016105d6565b5f6113f78234612ff3565b606086015161019a805467ffffffffffffffff19166001600160401b0390921691909117905590505f5b88811015611482576114798a8a8381811061143e5761143e612e31565b90506020020160208101906114539190612b6d565b87608001518787858151811061146b5761146b612e31565b602002602001015133611e80565b50600101611421565b5080156114f4576040515f90339083908381818185875af1925050503d805f81146114c8576040519150601f19603f3d011682016040523d82523d5f602084013e6114cd565b606091505b50509050806114f25760405163c3b6177360e01b8152600481018390526024016105d6565b505b61019a805460ff60401b1916600160401b17905560608501516040808701518751602089015192516001600160401b039094169391927fc45d64a624f5ea943d296c2cc396d123da7acdc7e56cb5fa4790393f70b0857c92611557929190613006565b60405180910390a3505050505050505050565b611572611799565b6001600160a01b0381166115d75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d6565b610c3881611a98565b5f6020820180359060669083906115f79086612b6d565b63ffffffff16815260208101919091526040015f20541492915050565b5f6101928161162660208b018b612b6d565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f036116565761061d6020890189612b6d565b6040851461167a57604051637b0ef91960e11b8152600481018690526024016105d6565b5f806116888789018961308f565b90925090505f611699600185612ff3565b90505f61018f82815481106116b0576116b0612e31565b905f5260205f20015490508361018f83815481106116d0576116d0612e31565b905f5260205f2001819055508261019083815481106116f1576116f1612e31565b905f5260205f2090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555083811461173e5761019a805460ff60401b191690555b8161174c60208e018e612b6d565b63ffffffff167f95cdbf55cd3d66022859359197d7a3fc03e1ce5507a81e5deaf336e518080ee98660405161178391815260200190565b60405180910390a3505050505050505050505050565b6033546001600160a01b031633146111085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105d6565b63ffffffff82165f81815260666020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b610c38611799565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561188257610d6c83611f63565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118dc575060408051601f3d908101601f191682019092526118d9918101906130b2565b60015b61193f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105d6565b5f5160206133685f395f51905f5281146119ad5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105d6565b50610d6c838383611ffe565b5f54610100900460ff166119df5760405162461bcd60e51b81526004016105d6906130c9565b610b5a8282612028565b5f54610100900460ff166111085760405162461bcd60e51b81526004016105d6906130c9565b5f54610100900460ff16611a355760405162461bcd60e51b81526004016105d6906130c9565b5f611a3e612126565b90505f5b6007811015611a8057818160078110611a5d57611a5d612e31565b60200201516101938260078110611a7657611a76612e31565b0155600101611a42565b505061019a805460ff60401b1916600160401b179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f84815b81811015611bdd575f888883818110611b0857611b08612e31565b9050602002016020810190611b1d9190612b6d565b63ffffffff81165f908152610192602052604081205491925003611b5c576040516395373a4d60e01b815263ffffffff821660048201526024016105d6565b5f611b698289895f6121b1565b905080602001515f14611ba457602081015160405163df001b1d60e01b815263ffffffff8416600482015260248101919091526044016105d6565b80868481518110611bb757611bb7612e31565b60209081029190910101528051611bce9086612f48565b94505050806001019050611aed565b505095945050505050565b611c216040518060a0016040528060608152602001606081526020015f81526020015f6001600160401b03168152602001606081525090565b61018f54806001600160401b03811115611c3d57611c3d612c34565b604051908082528060200260200182016040528015611c66578160200160208202803683370190505b508252806001600160401b03811115611c8157611c81612c34565b604051908082528060200260200182016040528015611caa578160200160208202803683370190505b5060208301525f816001600160401b03811115611cc957611cc9612c34565b604051908082528060200260200182016040528015611cf2578160200160208202803683370190505b5090505f5b82811015611dd2575f61018f8281548110611d1457611d14612e31565b905f5260205f200154905080855f01518381518110611d3557611d35612e31565b60200260200101818152505080838381518110611d5457611d54612e31565b6020026020010181815250506101908281548110611d7457611d74612e31565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b031685602001518381518110611db157611db1612e31565b6001600160401b039092166020928302919091019091015250600101611cf7565b506040805160e08101918290525f916101939060079082845b815481526020019060010190808311611deb5750505050509050611e0f8282612276565b604085015261019a54611e2c906001600160401b03166001613114565b6001600160401b0316606085018190526040808601519051611e6392906020019182526001600160401b0316602082015260400190565b604051602081830303815290604052846080018190525050505090565b611e88612955565b5f611e95845f01516123d8565b602085015190915015611eaf57611eaf84602001516123fc565b6065546040805160a0810190915263ffffffff891681526001600160a01b0390911690632637a45090839060208101611ee78c6124ac565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b8152600401611f22929190613161565b60806040518083038185885af1158015611f3e573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112549190613225565b6001600160a01b0381163b611fd05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105d6565b5f5160206133685f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b612007836124e7565b5f825111806120135750805b15610d6c576120228383612526565b50505050565b5f54610100900460ff1661204e5760405162461bcd60e51b81526004016105d6906130c9565b6001600160a01b038216612075576040516307def60560e11b815260040160405180910390fd5b6001600160a01b03811661209c57604051632d618d8160e21b815260040160405180910390fd5b6120a4612552565b606580546001600160a01b0319166001600160a01b0384161790556120c881611a98565b60655460405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b15801561210c575f5ffd5b505af115801561211e573d5f5f3e3d5ffd5b505050505050565b61212e612995565b5f815260015b600681116121ad576121868261214b600184612ff3565b6007811061215b5761215b612e31565b60200201518361216c600185612ff3565b6007811061217c5761217c612e31565b6020020151612580565b82826007811061219857612198612e31565b60200201526121a68161328c565b9050612134565b5090565b604080518082019091525f80825260208201526065546040805160a0810190915263ffffffff871681526001600160a01b039091169063ddc28c5890602081016121fa896124ac565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161222f929190613161565b6040805180830381865afa158015612249573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226d91906132a4565b95945050505050565b81515f9080820361228d57505060c0810151611164565b5f5b6001821115612383575f60016122a58482612f48565b901c90505f5b81811015612378575f876122c08360026132be565b815181106122d0576122d0612e31565b602002602001015190505f858360026122e991906132be565b6122f4906001612f48565b106123155787856007811061230b5761230b612e31565b6020020151612345565b886123218460026132be565b61232c906001612f48565b8151811061233c5761233c612e31565b60200260200101515b90506123518282612580565b89848151811061236357612363612e31565b602090810291909101015250506001016122ab565b50915060010161228f565b5f855f8151811061239657612396612e31565b602002602001015190505f8290505b60068110156123ce576123c48287836007811061217c5761217c612e31565b91506001016123a5565b5095945050505050565b5f813410156121ad576040516304fb820960e51b81523460048201526024016105d6565b6065546040805163393f876560e21b815290515f926001600160a01b03169163e4fe1d949160048083019260209291908290030181865afa158015612443573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246791906132d5565b90506001600160a01b038116612490576040516329b99a9560e11b815260040160405180910390fd5b606554610b5a906001600160a01b038381169133911685612609565b63ffffffff81165f90815260666020526040812054806111645760405163f6ff4fb760e01b815263ffffffff841660048201526024016105d6565b6124f081611f63565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061254b838360405180606001604052806027815260200161338860279139612663565b9392505050565b5f54610100900460ff166125785760405162461bcd60e51b81526004016105d6906130c9565b6111086126d7565b5f6125896129b3565b83815260208101839052604051632b0aac7f60e11b815273__$a2daaad8940c9006af3f1557205ebe532d$__9063561558fe906125ca9084906004016132f0565b602060405180830381865af41580156125e5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061117791906130b2565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612022908590612706565b60605f5f856001600160a01b03168560405161267f9190613320565b5f60405180830381855af49150503d805f81146126b7576040519150601f19603f3d011682016040523d82523d5f602084013e6126bc565b606091505b50915091506126cd868383876127d9565b9695505050505050565b5f54610100900460ff166126fd5760405162461bcd60e51b81526004016105d6906130c9565b61110833611a98565b5f61275a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128519092919063ffffffff16565b905080515f148061277a57508080602001905181019061277a9190613336565b610d6c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105d6565b606083156128475782515f03612840576001600160a01b0385163b6128405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d6565b5081611177565b611177838361285f565b606061117784845f85612889565b81511561286f5781518083602001fd5b8060405162461bcd60e51b81526004016105d69190613355565b6060824710156128ea5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105d6565b5f5f866001600160a01b031685876040516129059190613320565b5f6040518083038185875af1925050503d805f811461293f576040519150601f19603f3d011682016040523d82523d5f602084013e612944565b606091505b5091509150611254878383876127d9565b60405180606001604052805f81526020015f6001600160401b0316815260200161299060405180604001604052805f81526020015f81525090565b905290565b6040518060e001604052806007906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b5f606082840312156129e1575f5ffd5b50919050565b5f5f83601f8401126129f7575f5ffd5b5081356001600160401b03811115612a0d575f5ffd5b602083019150836020828501011115612a24575f5ffd5b9250929050565b6001600160a01b0381168114610c38575f5ffd5b5f5f5f5f5f5f5f60e0888a031215612a55575f5ffd5b612a5f89896129d1565b96506060880135955060808801356001600160401b03811115612a80575f5ffd5b612a8c8a828b016129e7565b90965094505060a0880135612aa081612a2b565b925060c08801356001600160401b03811115612aba575f5ffd5b612ac68a828b016129e7565b989b979a50959850939692959293505050565b602080825282518282018190525f918401906040840190835b81811015612b5157835180516001600160401b0316845260208082015163ffffffff16818601526040808301516001600160a01b0390811691870191909152606092830151169185019190915290930192608090920191600101612af2565b509095945050505050565b63ffffffff81168114610c38575f5ffd5b5f60208284031215612b7d575f5ffd5b813561254b81612b5c565b5f6080828403128015612b99575f5ffd5b509092915050565b5f5f60408385031215612bb2575f5ffd5b8235612bbd81612b5c565b946020939093013593505050565b5f60208284031215612bdb575f5ffd5b813561254b81612a2b565b5f60208284031215612bf6575f5ffd5b5035919050565b5f5f60408385031215612c0e575f5ffd5b8235612c1981612a2b565b91506020830135612c2981612a2b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715612c7057612c70612c34565b604052919050565b5f5f60408385031215612c89575f5ffd5b8235612c9481612a2b565b915060208301356001600160401b03811115612cae575f5ffd5b8301601f81018513612cbe575f5ffd5b80356001600160401b03811115612cd757612cd7612c34565b612cea601f8201601f1916602001612c48565b818152866020838501011115612cfe575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60a08587031215612d30575f5ffd5b612d3a86866129d1565b935060608501356001600160401b03811115612d54575f5ffd5b612d60878288016129e7565b9094509250506080850135612d7481612a2b565b939692955090935050565b5f5f5f5f60408587031215612d92575f5ffd5b84356001600160401b03811115612da7575f5ffd5b8501601f81018713612db7575f5ffd5b80356001600160401b03811115612dcc575f5ffd5b8760208260051b8401011115612de0575f5ffd5b6020918201955093508501356001600160401b03811115612dff575f5ffd5b612e0b878288016129e7565b95989497509550505050565b5f60608284031215612e27575f5ffd5b61254b83836129d1565b634e487b7160e01b5f52603260045260245ffd5b6001600160401b0381168114610c38575f5ffd5b5f60208284031215612e69575f5ffd5b813561254b81612e45565b8135612e7f81612e45565b6001600160401b03811690508154816001600160401b031982161783556020840135612eaa81612b5c565b6bffffffff00000000000000008160401b16905080836bffffffffffffffffffffffff1984161717845560408501359150612ee482612a2b565b909117606091821b6bffffffffffffffffffffffff19161782555f90830135612f0c81612a2b565b60019290920180546001600160a01b0319166001600160a01b03909316929092179091555050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561116457611164612f34565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b8181038181111561116457611164612f34565b604080825283519082018190525f9060208501906060840190835b8181101561303f578351835260209384019390920191600101613021565b5050838103602080860191909152855180835291810192508501905f5b818110156130835782516001600160401b031684526020938401939092019160010161305c565b50919695505050505050565b5f5f604083850312156130a0575f5ffd5b823591506020830135612c2981612e45565b5f602082840312156130c2575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160401b03818116838216019081111561116457611164612f34565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261319660e0840182613133565b90506060850151603f198483030160a08501526131b38282613133565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f604082840312156131e9575f5ffd5b604080519081016001600160401b038111828210171561320b5761320b612c34565b604052825181526020928301519281019290925250919050565b5f6080828403128015613236575f5ffd5b50604051606081016001600160401b038111828210171561325957613259612c34565b60405282518152602083015161326e81612e45565b602082015261328084604085016131d9565b60408201529392505050565b5f6001820161329d5761329d612f34565b5060010190565b5f604082840312156132b4575f5ffd5b61254b83836131d9565b808202811582820484141761116457611164612f34565b5f602082840312156132e5575f5ffd5b815161254b81612a2b565b6040810181835f5b60028110156133175781518352602092830192909101906001016132f8565b50505092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215613346575f5ffd5b8151801515811461254b575f5ffd5b602081525f61254b602083018461313356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e000017b587ba5b17ae4bd96e8d3dc6c23a721283d309189247410bb9f0f1e0464736f6c634300081e0033",
|
|
483
|
-
"sourceMap": "811:9768:79:-:0;;;1198:4:43;1155:48;;3294:53:79;;;;;;;;;-1:-1:-1;3318:22:79;:20;:22::i;:::-;811:9768;;5939:280:42;6007:13;;;;;;;6006:14;5998:66;;;;-1:-1:-1;;;5998:66:42;;216:2:104;5998:66:42;;;198:21:104;255:2;235:18;;;228:30;294:34;274:18;;;267:62;-1:-1:-1;;;345:18:104;;;338:37;392:19;;5998:66:42;;;;;;;;6078:12;;6094:15;6078:12;;;:31;6074:139;;6125:12;:30;;-1:-1:-1;;6125:30:42;6140:15;6125:30;;;;;;6174:28;;564:36:104;;;6174:28:42;;552:2:104;537:18;6174:28:42;;;;;;;6074:139;5939:280::o;422:184:104:-;811:9768:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;",
|
|
484
|
-
"linkReferences": {
|
|
485
|
-
"lib/poseidon-solidity/contracts/PoseidonT3.sol": {
|
|
486
|
-
"PoseidonT3": [{ "start": 9907, "length": 20 }]
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
},
|
|
490
|
-
"deployedBytecode": {
|
|
491
|
-
"object": "0x6080604052600436106101ba575f3560e01c80635e280f11116100f25780638e3a428e11610092578063ca5eb5e111610062578063ca5eb5e11461053d578063cab45f121461055c578063f2fde38b1461056f578063ff7bd03d1461058e575f5ffd5b80638e3a428e146104b45780638f84778d146104d3578063bb0b6a53146104f2578063c0d03dd41461051d575f5ffd5b80637c13774b116100cd5780637c13774b146103fc5780637d25a05e1461045957806382413eac146104785780638da5cb5b14610497575f5ffd5b80635e280f111461039257806362b32f58146103c9578063715018a6146103e8575f5ffd5b80633659cfe61161015d578063485cc95511610138578063485cc955146103155780634f1ef2861461033457806352d1902d14610347578063534dc25e1461035b575f5ffd5b80633659cfe6146102a657806341b4631e146102c5578063442bde04146102e4575f5ffd5b8063193695eb11610198578063193695eb1461021b5780632dd992be1461023c578063327a75d2146102685780633400288b14610287575f5ffd5b8063082febf0146101be57806313137d65146101e557806317442b70146101fa575b5f5ffd5b3480156101c9575f5ffd5b506101d2604081565b6040519081526020015b60405180910390f35b6101f86101f3366004612a3f565b6105ad565b005b348015610205575f5ffd5b50604080516001815260026020820152016101dc565b348015610226575f5ffd5b5061022f61074e565b6040516101dc9190612ad9565b348015610247575f5ffd5b506101d2610256366004612b6d565b6101926020525f908152604090205481565b348015610273575f5ffd5b506101f8610282366004612b88565b61086d565b348015610292575f5ffd5b506101f86102a1366004612ba1565b610b48565b3480156102b1575f5ffd5b506101f86102c0366004612bcb565b610b5e565b3480156102d0575f5ffd5b506101d26102df366004612be6565b610c3b565b3480156102ef575f5ffd5b5061019a5461030590600160401b900460ff1681565b60405190151581526020016101dc565b348015610320575f5ffd5b506101f861032f366004612bfd565b610c52565b6101f8610342366004612c78565b610d71565b348015610352575f5ffd5b506101d2610e3c565b348015610366575f5ffd5b5061037a610375366004612be6565b610eed565b6040516001600160401b0390911681526020016101dc565b34801561039d575f5ffd5b506065546103b1906001600160a01b031681565b6040516001600160a01b0390911681526020016101dc565b3480156103d4575f5ffd5b506101f86103e3366004612b88565b610f28565b3480156103f3575f5ffd5b506101f86110f7565b348015610407575f5ffd5b5061041b610416366004612be6565b61110a565b604080516001600160401b03909516855263ffffffff90931660208501526001600160a01b03918216928401929092521660608201526080016101dc565b348015610464575f5ffd5b5061037a610473366004612ba1565b611162565b348015610483575f5ffd5b50610305610492366004612d1d565b61116a565b3480156104a2575f5ffd5b506033546001600160a01b03166103b1565b3480156104bf575f5ffd5b506101d26104ce366004612d7f565b61117f565b3480156104de575f5ffd5b506101d26104ed366004612be6565b61125f565b3480156104fd575f5ffd5b506101d261050c366004612b6d565b60666020525f908152604090205481565b348015610528575f5ffd5b5061019a5461037a906001600160401b031681565b348015610548575f5ffd5b506101f8610557366004612bcb565b61127f565b6101f861056a366004612d7f565b61130b565b34801561057a575f5ffd5b506101f8610589366004612bcb565b61156a565b348015610599575f5ffd5b506103056105a8366004612e17565b6115e0565b6065546001600160a01b031633146105df576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b6101925f6105f060208a018a612b6d565b63ffffffff1663ffffffff1681526020019081526020015f20545f0361063f5761061d6020880188612b6d565b6040516395373a4d60e01b815263ffffffff90911660048201526024016105d6565b6040841461066357604051637b0ef91960e11b8152600481018590526024016105d6565b5f60668161067460208b018b612b6d565b63ffffffff16815260208101919091526040015f2054905080156106db57876020013581146106d6576106aa6020890189612b6d565b60405163309afaf360e21b815263ffffffff9091166004820152602089013560248201526044016105d6565b610735565b5f6106ee6033546001600160a01b031690565b6001600160a01b03169050602089013581146107335761071160208a018a612b6d565b60405163f6ff4fb760e01b815263ffffffff90911660048201526024016105d6565b505b61074488888888888888611614565b5050505050505050565b61019154606090806001600160401b0381111561076d5761076d612c34565b6040519080825280602002602001820160405280156107bd57816020015b604080516080810182525f8082526020808301829052928201819052606082015282525f1990920191018161078b5790505b5091505f5b818110156108685761019181815481106107de576107de612e31565b5f91825260209182902060408051608081018252600290930290910180546001600160401b038116845263ffffffff600160401b820416948401949094526001600160a01b03600160601b909404841691830191909152600101549091166060820152835184908390811061085557610855612e31565b60209081029190910101526001016107c2565b505090565b610875611799565b5f6108866060830160408401612bcb565b6001600160a01b0316036108ad57604051634a8bdce360e01b815260040160405180910390fd5b5f6108be6080830160608401612bcb565b6001600160a01b0316036108e55760405163ad1991f560e01b815260040160405180910390fd5b6108f26020820182612e59565b6001600160401b03165f0361091a57604051633d23e4d160e11b815260040160405180910390fd5b6101925f61092e6040840160208501612b6d565b63ffffffff16815260208101919091526040015f20541561097b576109596040820160208301612b6d565b6040516303ac826d60e11b815263ffffffff90911660048201526024016105d6565b61018f5460401161099f5760405163aae9790560e01b815260040160405180910390fd5b61018f805460018082019092555f7f77f3f3fc840536973a5d96a2bc039249e1d449fdef2adeb2ff7a19910de0ff24820181905561019080548085019091557fbd5c86c9fbaa47a598cf55ad1cee7a1d8f8450857cb10e0f122503b8c0e652436004820401805460039092166008026101000a6001600160401b03021990911690556101918054938401815590529082907ffb4a0ff48df6de8777afc824e4cbf267beb8602db7c5a7456c954593226c1fd5600290910201610a618282612e74565b50610a6f9050816001612f48565b6101925f610a836040860160208701612b6d565b63ffffffff16815260208082019290925260409081015f209290925561019a805460ff60401b191690558291610abe91908501908501612b6d565b63ffffffff167f42fe6078ecf798fc0c6f4af46726da5c84c10a513e502b345ef1f709383485ff610af26020860186612e59565b610b026080870160608801612bcb565b610b126060880160408901612bcb565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a35050565b610b50611799565b610b5a82826117f3565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ba65760405162461bcd60e51b81526004016105d690612f5b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bee5f5160206133685f395f51905f52546001600160a01b031690565b6001600160a01b031614610c145760405162461bcd60e51b81526004016105d690612fa7565b610c1d81611847565b604080515f80825260208201909252610c389183919061184f565b50565b6101938160078110610c4b575f80fd5b0154905081565b5f54610100900460ff1615808015610c7057505f54600160ff909116105b80610c895750303b158015610c8957505f5460ff166001145b610cec5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105d6565b5f805460ff191660011790558015610d0d575f805461ff0019166101001790555b610d1783836119b9565b610d1f6119e9565b610d27611a0f565b8015610d6c575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610db95760405162461bcd60e51b81526004016105d690612f5b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e015f5160206133685f395f51905f52546001600160a01b031690565b6001600160a01b031614610e275760405162461bcd60e51b81526004016105d690612fa7565b610e3082611847565b610b5a8282600161184f565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610edb5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105d6565b505f5160206133685f395f51905f5290565b6101908181548110610efd575f80fd5b905f5260205f209060049182820401919006600802915054906101000a90046001600160401b031681565b610f30611799565b5f610f416060830160408401612bcb565b6001600160a01b031603610f6857604051634a8bdce360e01b815260040160405180910390fd5b5f610f796080830160608401612bcb565b6001600160a01b031603610fa05760405163ad1991f560e01b815260040160405180910390fd5b610fad6020820182612e59565b6001600160401b03165f03610fd557604051633d23e4d160e11b815260040160405180910390fd5b5f61019281610fea6040850160208601612b6d565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f0361101d5761061d6040830160208401612b6d565b5f611029600183612ff3565b905082610191828154811061104057611040612e31565b905f5260205f20906002020181816110589190612e74565b5081905061106c6040850160208601612b6d565b63ffffffff167ff254892b05ecf2fbbe2e66c39a4bebc6e86a32b0e7d4d0385643284e8fececaf6110a06020870187612e59565b6110b06080880160608901612bcb565b6110c06060890160408a01612bcb565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a3505050565b6110ff611799565b6111085f611a98565b565b610191818154811061111a575f80fd5b5f918252602090912060029091020180546001909101546001600160401b038216925063ffffffff600160401b830416916001600160a01b03600160601b9091048116911684565b5f5b92915050565b6001600160a01b03811630145b949350505050565b5f5f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920182905250604051949550936111d993508492506001915060200191825260ff16602082015260400190565b60408051601f19818403018152919052905061125487878385826001600160401b0381111561120a5761120a612c34565b60405190808252806020026020018201604052801561124e57816020015b604080518082019091525f80825260208201528152602001906001900390816112285790505b50611ae9565b979650505050505050565b61018f818154811061126f575f80fd5b5f91825260209091200154905081565b611287611799565b6001600160a01b0381166112ae57604051632d618d8160e21b815260040160405180910390fd5b60655460405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b1580156112f2575f5ffd5b505af1158015611304573d5f5f3e3d5ffd5b5050505050565b5f611314611be8565b90505f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093945088925050506001600160401b0381111561136757611367612c34565b6040519080825280602002602001820160405280156113ab57816020015b604080518082019091525f80825260208201528152602001906001900390816113855790505b5090505f6113c0888886608001518686611ae9565b9050803410156113ec576040516311681bff60e21b8152346004820152602481018290526044016105d6565b5f6113f78234612ff3565b606086015161019a805467ffffffffffffffff19166001600160401b0390921691909117905590505f5b88811015611482576114798a8a8381811061143e5761143e612e31565b90506020020160208101906114539190612b6d565b87608001518787858151811061146b5761146b612e31565b602002602001015133611e80565b50600101611421565b5080156114f4576040515f90339083908381818185875af1925050503d805f81146114c8576040519150601f19603f3d011682016040523d82523d5f602084013e6114cd565b606091505b50509050806114f25760405163c3b6177360e01b8152600481018390526024016105d6565b505b61019a805460ff60401b1916600160401b17905560608501516040808701518751602089015192516001600160401b039094169391927fc45d64a624f5ea943d296c2cc396d123da7acdc7e56cb5fa4790393f70b0857c92611557929190613006565b60405180910390a3505050505050505050565b611572611799565b6001600160a01b0381166115d75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016105d6565b610c3881611a98565b5f6020820180359060669083906115f79086612b6d565b63ffffffff16815260208101919091526040015f20541492915050565b5f6101928161162660208b018b612b6d565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f036116565761061d6020890189612b6d565b6040851461167a57604051637b0ef91960e11b8152600481018690526024016105d6565b5f806116888789018961308f565b90925090505f611699600185612ff3565b90505f61018f82815481106116b0576116b0612e31565b905f5260205f20015490508361018f83815481106116d0576116d0612e31565b905f5260205f2001819055508261019083815481106116f1576116f1612e31565b905f5260205f2090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b0316021790555083811461173e5761019a805460ff60401b191690555b8161174c60208e018e612b6d565b63ffffffff167f95cdbf55cd3d66022859359197d7a3fc03e1ce5507a81e5deaf336e518080ee98660405161178391815260200190565b60405180910390a3505050505050505050505050565b6033546001600160a01b031633146111085760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105d6565b63ffffffff82165f81815260666020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b610c38611799565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561188257610d6c83611f63565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156118dc575060408051601f3d908101601f191682019092526118d9918101906130b2565b60015b61193f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105d6565b5f5160206133685f395f51905f5281146119ad5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105d6565b50610d6c838383611ffe565b5f54610100900460ff166119df5760405162461bcd60e51b81526004016105d6906130c9565b610b5a8282612028565b5f54610100900460ff166111085760405162461bcd60e51b81526004016105d6906130c9565b5f54610100900460ff16611a355760405162461bcd60e51b81526004016105d6906130c9565b5f611a3e612126565b90505f5b6007811015611a8057818160078110611a5d57611a5d612e31565b60200201516101938260078110611a7657611a76612e31565b0155600101611a42565b505061019a805460ff60401b1916600160401b179055565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f84815b81811015611bdd575f888883818110611b0857611b08612e31565b9050602002016020810190611b1d9190612b6d565b63ffffffff81165f908152610192602052604081205491925003611b5c576040516395373a4d60e01b815263ffffffff821660048201526024016105d6565b5f611b698289895f6121b1565b905080602001515f14611ba457602081015160405163df001b1d60e01b815263ffffffff8416600482015260248101919091526044016105d6565b80868481518110611bb757611bb7612e31565b60209081029190910101528051611bce9086612f48565b94505050806001019050611aed565b505095945050505050565b611c216040518060a0016040528060608152602001606081526020015f81526020015f6001600160401b03168152602001606081525090565b61018f54806001600160401b03811115611c3d57611c3d612c34565b604051908082528060200260200182016040528015611c66578160200160208202803683370190505b508252806001600160401b03811115611c8157611c81612c34565b604051908082528060200260200182016040528015611caa578160200160208202803683370190505b5060208301525f816001600160401b03811115611cc957611cc9612c34565b604051908082528060200260200182016040528015611cf2578160200160208202803683370190505b5090505f5b82811015611dd2575f61018f8281548110611d1457611d14612e31565b905f5260205f200154905080855f01518381518110611d3557611d35612e31565b60200260200101818152505080838381518110611d5457611d54612e31565b6020026020010181815250506101908281548110611d7457611d74612e31565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b031685602001518381518110611db157611db1612e31565b6001600160401b039092166020928302919091019091015250600101611cf7565b506040805160e08101918290525f916101939060079082845b815481526020019060010190808311611deb5750505050509050611e0f8282612276565b604085015261019a54611e2c906001600160401b03166001613114565b6001600160401b0316606085018190526040808601519051611e6392906020019182526001600160401b0316602082015260400190565b604051602081830303815290604052846080018190525050505090565b611e88612955565b5f611e95845f01516123d8565b602085015190915015611eaf57611eaf84602001516123fc565b6065546040805160a0810190915263ffffffff891681526001600160a01b0390911690632637a45090839060208101611ee78c6124ac565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b8152600401611f22929190613161565b60806040518083038185885af1158015611f3e573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112549190613225565b6001600160a01b0381163b611fd05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105d6565b5f5160206133685f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b612007836124e7565b5f825111806120135750805b15610d6c576120228383612526565b50505050565b5f54610100900460ff1661204e5760405162461bcd60e51b81526004016105d6906130c9565b6001600160a01b038216612075576040516307def60560e11b815260040160405180910390fd5b6001600160a01b03811661209c57604051632d618d8160e21b815260040160405180910390fd5b6120a4612552565b606580546001600160a01b0319166001600160a01b0384161790556120c881611a98565b60655460405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e1906024015f604051808303815f87803b15801561210c575f5ffd5b505af115801561211e573d5f5f3e3d5ffd5b505050505050565b61212e612995565b5f815260015b600681116121ad576121868261214b600184612ff3565b6007811061215b5761215b612e31565b60200201518361216c600185612ff3565b6007811061217c5761217c612e31565b6020020151612580565b82826007811061219857612198612e31565b60200201526121a68161328c565b9050612134565b5090565b604080518082019091525f80825260208201526065546040805160a0810190915263ffffffff871681526001600160a01b039091169063ddc28c5890602081016121fa896124ac565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161222f929190613161565b6040805180830381865afa158015612249573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226d91906132a4565b95945050505050565b81515f9080820361228d57505060c0810151611164565b5f5b6001821115612383575f60016122a58482612f48565b901c90505f5b81811015612378575f876122c08360026132be565b815181106122d0576122d0612e31565b602002602001015190505f858360026122e991906132be565b6122f4906001612f48565b106123155787856007811061230b5761230b612e31565b6020020151612345565b886123218460026132be565b61232c906001612f48565b8151811061233c5761233c612e31565b60200260200101515b90506123518282612580565b89848151811061236357612363612e31565b602090810291909101015250506001016122ab565b50915060010161228f565b5f855f8151811061239657612396612e31565b602002602001015190505f8290505b60068110156123ce576123c48287836007811061217c5761217c612e31565b91506001016123a5565b5095945050505050565b5f813410156121ad576040516304fb820960e51b81523460048201526024016105d6565b6065546040805163393f876560e21b815290515f926001600160a01b03169163e4fe1d949160048083019260209291908290030181865afa158015612443573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061246791906132d5565b90506001600160a01b038116612490576040516329b99a9560e11b815260040160405180910390fd5b606554610b5a906001600160a01b038381169133911685612609565b63ffffffff81165f90815260666020526040812054806111645760405163f6ff4fb760e01b815263ffffffff841660048201526024016105d6565b6124f081611f63565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b606061254b838360405180606001604052806027815260200161338860279139612663565b9392505050565b5f54610100900460ff166125785760405162461bcd60e51b81526004016105d6906130c9565b6111086126d7565b5f6125896129b3565b83815260208101839052604051632b0aac7f60e11b815273__$a2daaad8940c9006af3f1557205ebe532d$__9063561558fe906125ca9084906004016132f0565b602060405180830381865af41580156125e5573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061117791906130b2565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612022908590612706565b60605f5f856001600160a01b03168560405161267f9190613320565b5f60405180830381855af49150503d805f81146126b7576040519150601f19603f3d011682016040523d82523d5f602084013e6126bc565b606091505b50915091506126cd868383876127d9565b9695505050505050565b5f54610100900460ff166126fd5760405162461bcd60e51b81526004016105d6906130c9565b61110833611a98565b5f61275a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128519092919063ffffffff16565b905080515f148061277a57508080602001905181019061277a9190613336565b610d6c5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016105d6565b606083156128475782515f03612840576001600160a01b0385163b6128405760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105d6565b5081611177565b611177838361285f565b606061117784845f85612889565b81511561286f5781518083602001fd5b8060405162461bcd60e51b81526004016105d69190613355565b6060824710156128ea5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016105d6565b5f5f866001600160a01b031685876040516129059190613320565b5f6040518083038185875af1925050503d805f811461293f576040519150601f19603f3d011682016040523d82523d5f602084013e612944565b606091505b5091509150611254878383876127d9565b60405180606001604052805f81526020015f6001600160401b0316815260200161299060405180604001604052805f81526020015f81525090565b905290565b6040518060e001604052806007906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b5f606082840312156129e1575f5ffd5b50919050565b5f5f83601f8401126129f7575f5ffd5b5081356001600160401b03811115612a0d575f5ffd5b602083019150836020828501011115612a24575f5ffd5b9250929050565b6001600160a01b0381168114610c38575f5ffd5b5f5f5f5f5f5f5f60e0888a031215612a55575f5ffd5b612a5f89896129d1565b96506060880135955060808801356001600160401b03811115612a80575f5ffd5b612a8c8a828b016129e7565b90965094505060a0880135612aa081612a2b565b925060c08801356001600160401b03811115612aba575f5ffd5b612ac68a828b016129e7565b989b979a50959850939692959293505050565b602080825282518282018190525f918401906040840190835b81811015612b5157835180516001600160401b0316845260208082015163ffffffff16818601526040808301516001600160a01b0390811691870191909152606092830151169185019190915290930192608090920191600101612af2565b509095945050505050565b63ffffffff81168114610c38575f5ffd5b5f60208284031215612b7d575f5ffd5b813561254b81612b5c565b5f6080828403128015612b99575f5ffd5b509092915050565b5f5f60408385031215612bb2575f5ffd5b8235612bbd81612b5c565b946020939093013593505050565b5f60208284031215612bdb575f5ffd5b813561254b81612a2b565b5f60208284031215612bf6575f5ffd5b5035919050565b5f5f60408385031215612c0e575f5ffd5b8235612c1981612a2b565b91506020830135612c2981612a2b565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715612c7057612c70612c34565b604052919050565b5f5f60408385031215612c89575f5ffd5b8235612c9481612a2b565b915060208301356001600160401b03811115612cae575f5ffd5b8301601f81018513612cbe575f5ffd5b80356001600160401b03811115612cd757612cd7612c34565b612cea601f8201601f1916602001612c48565b818152866020838501011115612cfe575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60a08587031215612d30575f5ffd5b612d3a86866129d1565b935060608501356001600160401b03811115612d54575f5ffd5b612d60878288016129e7565b9094509250506080850135612d7481612a2b565b939692955090935050565b5f5f5f5f60408587031215612d92575f5ffd5b84356001600160401b03811115612da7575f5ffd5b8501601f81018713612db7575f5ffd5b80356001600160401b03811115612dcc575f5ffd5b8760208260051b8401011115612de0575f5ffd5b6020918201955093508501356001600160401b03811115612dff575f5ffd5b612e0b878288016129e7565b95989497509550505050565b5f60608284031215612e27575f5ffd5b61254b83836129d1565b634e487b7160e01b5f52603260045260245ffd5b6001600160401b0381168114610c38575f5ffd5b5f60208284031215612e69575f5ffd5b813561254b81612e45565b8135612e7f81612e45565b6001600160401b03811690508154816001600160401b031982161783556020840135612eaa81612b5c565b6bffffffff00000000000000008160401b16905080836bffffffffffffffffffffffff1984161717845560408501359150612ee482612a2b565b909117606091821b6bffffffffffffffffffffffff19161782555f90830135612f0c81612a2b565b60019290920180546001600160a01b0319166001600160a01b03909316929092179091555050565b634e487b7160e01b5f52601160045260245ffd5b8082018082111561116457611164612f34565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b8181038181111561116457611164612f34565b604080825283519082018190525f9060208501906060840190835b8181101561303f578351835260209384019390920191600101613021565b5050838103602080860191909152855180835291810192508501905f5b818110156130835782516001600160401b031684526020938401939092019160010161305c565b50919695505050505050565b5f5f604083850312156130a0575f5ffd5b823591506020830135612c2981612e45565b5f602082840312156130c2575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160401b03818116838216019081111561116457611164612f34565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261319660e0840182613133565b90506060850151603f198483030160a08501526131b38282613133565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f604082840312156131e9575f5ffd5b604080519081016001600160401b038111828210171561320b5761320b612c34565b604052825181526020928301519281019290925250919050565b5f6080828403128015613236575f5ffd5b50604051606081016001600160401b038111828210171561325957613259612c34565b60405282518152602083015161326e81612e45565b602082015261328084604085016131d9565b60408201529392505050565b5f6001820161329d5761329d612f34565b5060010190565b5f604082840312156132b4575f5ffd5b61254b83836131d9565b808202811582820484141761116457611164612f34565b5f602082840312156132e5575f5ffd5b815161254b81612a2b565b6040810181835f5b60028110156133175781518352602092830192909101906001016132f8565b50505092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215613346575f5ffd5b8151801515811461254b575f5ffd5b602081525f61254b602083018461313356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220e000017b587ba5b17ae4bd96e8d3dc6c23a721283d309189247410bb9f0f1e0464736f6c634300081e0033",
|
|
492
|
-
"sourceMap": "811:9768:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2675:56;;;;;;;;;;-1:-1:-1;2675:56:79;216:25:85;2675:56:79;;;;;160:25:104;;;148:2;133:18;2675:56:79;;;;;;;;8695:872;;;;;;:::i;:::-;;:::i;:::-;;528:257:91;;;;;;;;;;-1:-1:-1;528:257:91;;;866:1:90;2113:50:104;;506:1:89;2194:2:104;2179:18;;2172:59;2086:18;528:257:91;1943:294:104;6748:252:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;2911:47::-;;;;;;;;;;-1:-1:-1;2911:47:79;;;;;:::i;:::-;;;;;;;;;;;;;;4101:720;;;;;;;;;;-1:-1:-1;4101:720:79;;;;;:::i;:::-;;:::i;1249:117:88:-;;;;;;;;;;-1:-1:-1;1249:117:88;;;;;:::i;:::-;;:::i;3408:195:43:-;;;;;;;;;;-1:-1:-1;3408:195:43;;;;;:::i;:::-;;:::i;3003:49:79:-;;;;;;;;;;-1:-1:-1;3003:49:79;;;;;:::i;:::-;;:::i;3084:22::-;;;;;;;;;;-1:-1:-1;3084:22:79;;;;-1:-1:-1;;;3084:22:79;;;;;;;;;4838:14:104;;4831:22;4813:41;;4801:2;4786:18;3084:22:79;4673:187:104;3353:181:79;;;;;;;;;;-1:-1:-1;3353:181:79;;;;;:::i;:::-;;:::i;3922:220:43:-;;;;;;:::i;:::-;;:::i;3027:131::-;;;;;;;;;;;;;:::i;2834:35:79:-;;;;;;;;;;-1:-1:-1;2834:35:79;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;6919:31:104;;;6901:50;;6889:2;6874:18;2834:35:79;6757:200:104;592:36:88;;;;;;;;;;-1:-1:-1;592:36:88;;;;-1:-1:-1;;;;;592:36:88;;;;;;-1:-1:-1;;;;;7155:32:104;;;7137:51;;7125:2;7110:18;592:36:88;6962:232:104;4827:511:79;;;;;;;;;;-1:-1:-1;4827:511:79;;;;;:::i;:::-;;:::i;2085:101:37:-;;;;;;;;;;;;;:::i;2875:29:79:-;;;;;;;;;;-1:-1:-1;2875:29:79;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;7444:31:104;;;7426:50;;7524:10;7512:23;;;7507:2;7492:18;;7485:51;-1:-1:-1;;;;;7572:32:104;;;7552:18;;;7545:60;;;;7641:32;7636:2;7621:18;;7614:60;7413:3;7398:19;2875:29:79;7199:481:104;1055:129:89;;;;;;;;;;-1:-1:-1;1055:129:89;;;;;:::i;:::-;;:::i;672:222::-;;;;;;;;;;-1:-1:-1;672:222:89;;;;;:::i;:::-;;:::i;1462:85:37:-;;;;;;;;;;-1:-1:-1;1534:6:37;;-1:-1:-1;;;;;1534:6:37;1462:85;;6361:381:79;;;;;;;;;;-1:-1:-1;6361:381:79;;;;;:::i;:::-;;:::i;2798:30::-;;;;;;;;;;-1:-1:-1;2798:30:79;;;;;:::i;:::-;;:::i;634:48:88:-;;;;;;;;;;-1:-1:-1;634:48:88;;;;;:::i;:::-;;;;;;;;;;;;;;3058:20:79;;;;;;;;;;-1:-1:-1;3058:20:79;;;;-1:-1:-1;;;;;3058:20:79;;;1625:185:88;;;;;;;;;;-1:-1:-1;1625:185:88;;;;;:::i;:::-;;:::i;5344:1011:79:-;;;;;;:::i;:::-;;:::i;2335:198:37:-;;;;;;;;;;-1:-1:-1;2335:198:37;;;;;:::i;:::-;;:::i;900:149:89:-;;;;;;;;;;-1:-1:-1;900:149:89;;;;;:::i;:::-;;:::i;8695:872:79:-;8912:8;;-1:-1:-1;;;;;8912:8:79;8925:10;8904:31;8900:68;;8944:24;;-1:-1:-1;;;8944:24:79;;8957:10;8944:24;;;7137:51:104;7110:18;;8944:24:79;;;;;;;;8900:68;8983:13;:28;8997:13;;;;:6;:13;:::i;:::-;8983:28;;;;;;;;;;;;;;;;9015:1;8983:33;8979:79;;9044:13;;;;:6;:13;:::i;:::-;9025:33;;-1:-1:-1;;;9025:33:79;;9906:10:104;9894:23;;;9025:33:79;;;9876:42:104;9849:18;;9025:33:79;9732:192:104;8979:79:79;2789:2;9072:41;;9068:90;;9122:36;;-1:-1:-1;;;9122:36:79;;;;;160:25:104;;;133:18;;9122:36:79;14:177:104;9068:90:79;9169:12;9184:5;9169:12;9190:13;;;;:6;:13;:::i;:::-;9184:20;;;;;;;;;;;;;-1:-1:-1;9184:20:79;;;-1:-1:-1;9218:18:79;;9214:282;;9264:6;:13;;;9256:4;:21;9252:72;;9295:13;;;;:6;:13;:::i;:::-;9286:38;;-1:-1:-1;;;9286:38:79;;10131:10:104;10119:23;;;9286:38:79;;;10101:42:104;9310:13:79;;;;10159:18:104;;;10152:34;10074:18;;9286:38:79;9929:263:104;9252:72:79;9214:282;;;9355:18;9400:7;1534:6:37;;-1:-1:-1;;;;;1534:6:37;;1462:85;9400:7:79;-1:-1:-1;;;;;9384:25:79;;-1:-1:-1;9428:13:79;;;;:27;;9424:61;;9471:13;;;;:6;:13;:::i;:::-;9464:21;;-1:-1:-1;;;9464:21:79;;9906:10:104;9894:23;;;9464:21:79;;;9876:42:104;9849:18;;9464:21:79;9732:192:104;9424:61:79;9341:155;9214:282;9506:54;9517:6;9525:4;9531:7;;9540:8;9550:9;;9506:10;:54::i;:::-;8890:677;8695:872;;;;;;;:::o;6748:252::-;6846:10;:17;6796:24;;6846:17;-1:-1:-1;;;;;6881:20:79;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6881:20:79;;-1:-1:-1;;6881:20:79;;;;;;;;;;;-1:-1:-1;6873:28:79;-1:-1:-1;6916:9:79;6911:83;6935:3;6931:1;:7;6911:83;;;6970:10;6981:1;6970:13;;;;;;;;:::i;:::-;;;;;;;;;;6959:24;;;;;;;;6970:13;;;;;;;6959:24;;-1:-1:-1;;;;;6959:24:79;;;;;-1:-1:-1;;;6959:24:79;;;;;;;;;;-1:-1:-1;;;;;;;;6959:24:79;;;;;;;;;;;;;;;;;;;;;;:8;;:5;;6965:1;;6959:8;;;;;;:::i;:::-;;;;;;;;;;:24;6940:3;;6911:83;;;;6822:178;6748:252;:::o;4101:720::-;1355:13:37;:11;:13::i;:::-;4207:1:79::1;4182:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;4182:27:79::1;::::0;4178:54:::1;;4218:14;;-1:-1:-1::0;;;4218:14:79::1;;;;;;;;;;;4178:54;4268:1;4246:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;4246:24:79::1;::::0;4242:48:::1;;4279:11;;-1:-1:-1::0;;;4279:11:79::1;;;;;;;;;;;4242:48;4304:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;-1:-1:-1::0;;;;;4304:17:79::1;4320:1;4304:17:::0;4300:46:::1;;4330:16;;-1:-1:-1::0;;;4330:16:79::1;;;;;;;;;;;4300:46;4360:13;:23;4374:8;::::0;;;::::1;::::0;::::1;;:::i;:::-;4360:23;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;4360:23:79;;:28;4356:73:::1;;4420:8;::::0;;;::::1;::::0;::::1;;:::i;:::-;4397:32;::::0;-1:-1:-1;;;4397:32:79;;9906:10:104;9894:23;;;4397:32:79::1;::::0;::::1;9876:42:104::0;9849:18;;4397:32:79::1;9732:192:104::0;4356:73:79::1;4443:13;:20:::0;216:25:85;-1:-1:-1;4439:67:79::1;;4486:20;;-1:-1:-1::0;;;4486:20:79::1;;;;;;;;;;;4439:67;4533:13;:20:::0;;4563:21:::1;::::0;;::::1;::::0;;;-1:-1:-1;4563:21:79;;::::1;::::0;;;4594:19:::1;:27:::0;;;;::::1;::::0;;;;::::1;::::0;::::1;;::::0;;;;;;::::1;;;;-1:-1:-1::0;;;;;4594:27:79::1;;::::0;;::::1;::::0;;4631:10:::1;:21:::0;;;;::::1;::::0;;;;4533:20;4647:4;;4631:21;::::1;::::0;;::::1;;;4647:4:::0;4631:21;::::1;:::i;:::-;-1:-1:-1::0;4688:9:79::1;::::0;-1:-1:-1;4688:5:79;4696:1:::1;4688:9;:::i;:::-;4662:13;:23;4676:8;::::0;;;::::1;::::0;::::1;;:::i;:::-;4662:23;;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;4662:23:79;:35;;;;4707:10:::1;:18:::0;;-1:-1:-1;;;;4707:18:79::1;::::0;;4767:5;;4757:8:::1;::::0;;;;;;::::1;;:::i;:::-;4741:73;;;4774:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;4788:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;4800:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;4741:73;::::0;;-1:-1:-1;;;;;12321:31:104;;;12303:50;;-1:-1:-1;;;;;12389:32:104;;;12384:2;12369:18;;12362:60;12458:32;;12438:18;;;12431:60;12291:2;12276:18;4741:73:79::1;;;;;;;4168:653;4101:720:::0;:::o;1249:117:88:-;1355:13:37;:11;:13::i;:::-;1338:21:88::1;1347:4;1353:5;1338:8;:21::i;:::-;1249:117:::0;;:::o;3408:195:43:-;-1:-1:-1;;;;;1764:6:43;1747:23;1755:4;1747:23;1739:80;;;;-1:-1:-1;;;1739:80:43;;;;;;;:::i;:::-;1861:6;-1:-1:-1;;;;;1837:30:43;:20;-1:-1:-1;;;;;;;;;;;1557:65:40;-1:-1:-1;;;;;1557:65:40;;1478:151;1837:20:43;-1:-1:-1;;;;;1837:30:43;;1829:87;;;;-1:-1:-1;;;1829:87:43;;;;;;;:::i;:::-;3489:36:::1;3507:17;3489;:36::i;:::-;3576:12;::::0;;3586:1:::1;3576:12:::0;;;::::1;::::0;::::1;::::0;;;3535:61:::1;::::0;3557:17;;3576:12;3535:21:::1;:61::i;:::-;3408:195:::0;:::o;3003:49:79:-;;;;;;;;;;;;;;;-1:-1:-1;3003:49:79;:::o;3353:181::-;3279:19:42;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:42;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:42;1713:19:50;:23;;;3387:66:42;;-1:-1:-1;3436:12:42;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:42;;13530:2:104;3325:201:42;;;13512:21:104;13569:2;13549:18;;;13542:30;13608:34;13588:18;;;13581:62;-1:-1:-1;;;13659:18:104;;;13652:44;13713:19;;3325:201:42;13328:410:104;3325:201:42;3536:12;:16;;-1:-1:-1;;3536:16:42;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:42;;;;;3562:65;3440:31:79::1;3452:8;3462;3440:11;:31::i;:::-;3481:24;:22;:24::i;:::-;3515:12;:10;:12::i;:::-;3651:14:42::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:42;;;3721:14;;-1:-1:-1;13895:36:104;;3721:14:42;;13883:2:104;13868:18;3721:14:42;;;;;;;3647:99;3269:483;3353:181:79;;:::o;3922:220:43:-;-1:-1:-1;;;;;1764:6:43;1747:23;1755:4;1747:23;1739:80;;;;-1:-1:-1;;;1739:80:43;;;;;;;:::i;:::-;1861:6;-1:-1:-1;;;;;1837:30:43;:20;-1:-1:-1;;;;;;;;;;;1557:65:40;-1:-1:-1;;;;;1557:65:40;;1478:151;1837:20:43;-1:-1:-1;;;;;1837:30:43;;1829:87;;;;-1:-1:-1;;;1829:87:43;;;;;;;:::i;:::-;4037:36:::1;4055:17;4037;:36::i;:::-;4083:52;4105:17;4124:4;4130;4083:21;:52::i;3027:131::-:0;3105:7;2190:4;-1:-1:-1;;;;;2199:6:43;2182:23;;2174:92;;;;-1:-1:-1;;;2174:92:43;;14144:2:104;2174:92:43;;;14126:21:104;14183:2;14163:18;;;14156:30;14222:34;14202:18;;;14195:62;14293:26;14273:18;;;14266:54;14337:19;;2174:92:43;13942:420:104;2174:92:43;-1:-1:-1;;;;;;;;;;;;3027:131:43;:::o;2834:35:79:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2834:35:79;;:::o;4827:511::-;1355:13:37;:11;:13::i;:::-;4931:1:79::1;4906:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;4906:27:79::1;::::0;4902:54:::1;;4942:14;;-1:-1:-1::0;;;4942:14:79::1;;;;;;;;;;;4902:54;4992:1;4970:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;4970:24:79::1;::::0;4966:48:::1;;5003:11;;-1:-1:-1::0;;;5003:11:79::1;;;;;;;;;;;4966:48;5028:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;-1:-1:-1::0;;;;;5028:17:79::1;5044:1;5028:17:::0;5024:46:::1;;5054:16;;-1:-1:-1::0;;;5054:16:79::1;;;;;;;;;;;5024:46;5081:11;5095:13;5081:11:::0;5109:8:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;5095:23;;;;;;;;;;;;;;;;5081:37;;5132:3;5139:1;5132:8:::0;5128:49:::1;;5168:8;::::0;;;::::1;::::0;::::1;;:::i;5128:49::-;5188:13;5204:7;5210:1;5204:3:::0;:7:::1;:::i;:::-;5188:23;;5241:4;5221:10;5232:5;5221:17;;;;;;;;:::i;:::-;;;;;;;;;;;:24;;;;;;:::i;:::-;-1:-1:-1::0;5284:5:79;;-1:-1:-1;5274:8:79::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;5261:70;;;5291:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;5305:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;5317:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;5261:70;::::0;;-1:-1:-1;;;;;12321:31:104;;;12303:50;;-1:-1:-1;;;;;12389:32:104;;;12384:2;12369:18;;12362:60;12458:32;;12438:18;;;12431:60;12291:2;12276:18;5261:70:79::1;;;;;;;4892:446;;4827:511:::0;:::o;2085:101:37:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;2875:29:79:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2875:29:79;;;-1:-1:-1;2875:29:79;-1:-1:-1;;;2875:29:79;;;;-1:-1:-1;;;;;;;;2875:29:79;;;;;;;;:::o;1055:129:89:-;1145:12;1055:129;;;;;:::o;672:222::-;-1:-1:-1;;;;;863:24:89;;882:4;863:24;672:222;;;;;;;:::o;6361:381:79:-;6486:22;6524:20;6547:9;;6524:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6594:25:79;;6524:32;;-1:-1:-1;6524:32:79;6594:25;;-1:-1:-1;6524:32:79;;-1:-1:-1;6617:1:79;;-1:-1:-1;6594:25:79;;14680::104;;;14753:4;14741:17;14736:2;14721:18;;14714:45;14668:2;14653:18;;14500:265;6594:25:79;;;;-1:-1:-1;;6594:25:79;;;;;;;;;;-1:-1:-1;6646:89:79;6662:10;;6594:25;6688:7;6662:10;-1:-1:-1;;;;;6697:37:79;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;6697:37:79;;;;;;;;;;;;;;;;6646:15;:89::i;:::-;6629:106;6361:381;-1:-1:-1;;;;;;;6361:381:79:o;2798:30::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2798:30:79;:::o;1625:185:88:-;1355:13:37;:11;:13::i;:::-;-1:-1:-1;;;;;1713:23:88;::::1;1709:53;;1745:17;;-1:-1:-1::0;;;1745:17:88::1;;;;;;;;;;;1709:53;1772:8;::::0;:31:::1;::::0;-1:-1:-1;;;1772:31:88;;-1:-1:-1;;;;;7155:32:104;;;1772:31:88::1;::::0;::::1;7137:51:104::0;1772:8:88;;::::1;::::0;:20:::1;::::0;7110:18:104;;1772:31:88::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1625:185:::0;:::o;5344:1011:79:-;5444:27;5474:26;:24;:26::i;:::-;5444:56;;5510:20;5533:9;;5510:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5510:32:79;;-1:-1:-1;5600:10:79;;-1:-1:-1;;;;;;;;5581:37:79;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;5581:37:79;;;;;;;;;;;;;;;;5552:66;;5628:22;5653:55;5669:10;;5681:3;:11;;;5694:7;5703:4;5653:15;:55::i;:::-;5628:80;;5735:14;5723:9;:26;5719:83;;;5758:44;;-1:-1:-1;;;5758:44:79;;5776:9;5758:44;;;14944:25:104;14985:18;;;14978:34;;;14917:18;;5758:44:79;14770:248:104;5719:83:79;5812:14;5829:26;5841:14;5829:9;:26;:::i;:::-;5875:14;;;;5866:6;:23;;-1:-1:-1;;5866:23:79;-1:-1:-1;;;;;5866:23:79;;;;;;;;;5812:43;-1:-1:-1;;5900:138:79;5920:21;;;5900:138;;;5962:65;5970:10;;5981:1;5970:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;5985:3;:11;;;5998:7;6007:4;6012:1;6007:7;;;;;;;;:::i;:::-;;;;;;;6016:10;5962:7;:65::i;:::-;-1:-1:-1;5943:3:79;;5900:138;;;-1:-1:-1;6052:11:79;;6048:152;;6097:34;;6080:12;;6097:10;;6120:6;;6080:12;6097:34;6080:12;6097:34;6120:6;6097:10;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6079:52;;;6150:7;6145:44;;6166:23;;-1:-1:-1;;;6166:23:79;;;;;160:25:104;;;133:18;;6166:23:79;14:177:104;6145:44:79;6065:135;6048:152;6210:10;:17;;-1:-1:-1;;;;6210:17:79;-1:-1:-1;;;6210:17:79;;;6286:14;;;;6265:19;;;;;6302:12;;6316:31;;;;6242:106;;-1:-1:-1;;;;;6242:106:79;;;;6265:19;;6242:106;;;;6302:12;6316:31;6242:106;:::i;:::-;;;;;;;;5434:921;;;;;5344:1011;;;;:::o;2335:198:37:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:37;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:37;;16608:2:104;2415:73:37::1;::::0;::::1;16590:21:104::0;16647:2;16627:18;;;16620:30;16686:34;16666:18;;;16659:62;-1:-1:-1;;;16737:18:104;;;16730:36;16783:19;;2415:73:37::1;16406:402:104::0;2415:73:37::1;2498:28;2517:8;2498:18;:28::i;900:149:89:-:0;982:4;1029:13;;;;;;1005:5;;982:4;;1011:13;;1029:6;1011:13;:::i;:::-;1005:20;;;;;;;;;;;;;-1:-1:-1;1005:20:89;;:37;;900:149;-1:-1:-1;;900:149:89:o;9573:807:79:-;9723:11;9737:13;9723:11;9751:13;;;;:6;:13;:::i;:::-;9737:28;;;;;;;;;;;;;;;;9723:42;;9779:3;9786:1;9779:8;9775:54;;9815:13;;;;:6;:13;:::i;9775:54::-;2789:2;9844:41;;9840:90;;9894:36;;-1:-1:-1;;;9894:36:79;;;;;160:25:104;;;133:18;;9894:36:79;14:177:104;9840:90:79;9942:20;;9992:38;;;;10003:7;9992:38;:::i;:::-;9941:89;;-1:-1:-1;9941:89:79;-1:-1:-1;10040:13:79;10056:7;10062:1;10056:3;:7;:::i;:::-;10040:23;;10073:20;10096:13;10110:5;10096:20;;;;;;;;:::i;:::-;;;;;;;;;10073:43;;10149:12;10126:13;10140:5;10126:20;;;;;;;;:::i;:::-;;;;;;;;:35;;;;10200:17;10171:19;10191:5;10171:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:46;;;;;-1:-1:-1;;;;;10171:46:79;;;;;-1:-1:-1;;;;;10171:46:79;;;;;;10247:12;10231;:28;10227:77;;10275:10;:18;;-1:-1:-1;;;;10275:18:79;;;10227:77;10353:5;10338:13;;;;:6;:13;:::i;:::-;10318:55;;;10360:12;10318:55;;;;160:25:104;;148:2;133:18;;14:177;10318:55:79;;;;;;;;9713:667;;;;;9573:807;;;;;;;:::o;1620:130:37:-;1534:6;;-1:-1:-1;;;;;1534:6:37;965:10:51;1683:23:37;1675:68;;;;-1:-1:-1;;;1675:68:37;;17385:2:104;1675:68:37;;;17367:21:104;;;17404:18;;;17397:30;17463:34;17443:18;;;17436:62;17515:18;;1675:68:37;17183:356:104;1440:134:88;1513:11;;;;;;;:5;:11;;;;;;;;;:19;;;1547:20;;10101:42:104;;;10159:18;;10152:34;;;1547:20:88;;10074:18:104;1547:20:88;;;;;;;1440:134;;:::o;3540:66:79:-;1355:13:37;:11;:13::i;2841:944:40:-;839:66;3257:59;;;3253:526;;;3332:37;3351:17;3332:18;:37::i;3253:526::-;3433:17;-1:-1:-1;;;;;3404:61:40;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3404:63:40;;;;;;;;-1:-1:-1;;3404:63:40;;;;;;;;;;;;:::i;:::-;;;3400:302;;3631:56;;-1:-1:-1;;;3631:56:40;;17981:2:104;3631:56:40;;;17963:21:104;18020:2;18000:18;;;17993:30;18059:34;18039:18;;;18032:62;-1:-1:-1;;;18110:18:104;;;18103:44;18164:19;;3631:56:40;17779:410:104;3400:302:40;-1:-1:-1;;;;;;;;;;;3517:28:40;;3509:82;;;;-1:-1:-1;;;3509:82:40;;18396:2:104;3509:82:40;;;18378:21:104;18435:2;18415:18;;;18408:30;18474:34;18454:18;;;18447:62;-1:-1:-1;;;18525:18:104;;;18518:39;18574:19;;3509:82:40;18194:405:104;3509:82:40;3468:138;3715:53;3733:17;3752:4;3758:9;3715:17;:53::i;383:139:91:-;5374:13:42;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:42;;;;;;;:::i;:::-;478:37:91::1;494:9;505;478:15;:37::i;2290:67:43:-:0;5374:13:42;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:42;;;;;;;:::i;3612:304:79:-;5374:13:42;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:42;;;;;;;:::i;:::-;3670:53:79::1;3726:43;:41;:43::i;:::-;3670:99:::0;-1:-1:-1;3784:9:79::1;3779:104;3803:19;3799:1;:23;3779:104;;;3857:12;3870:1;3857:15;;;;;;;:::i;:::-;;;;;3843:8;3852:1;3843:11;;;;;;;:::i;:::-;;:29:::0;3824:3:::1;;3779:104;;;-1:-1:-1::0;;3892:10:79::1;:17:::0;;-1:-1:-1;;;;3892:17:79::1;-1:-1:-1::0;;;3892:17:79::1;::::0;;3612:304::o;2687:187:37:-;2779:6;;;-1:-1:-1;;;;;2795:17:37;;;-1:-1:-1;;;;;;2795:17:37;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;7831:670:79:-;8019:22;8067:10;8019:22;8094:401;8118:3;8114:1;:7;8094:401;;;8142:10;8155;;8166:1;8155:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;8186:18;;;;;;;:13;:18;;;;;;8142:26;;-1:-1:-1;8186:23:79;8182:59;;8218:23;;-1:-1:-1;;;8218:23:79;;9906:10:104;9894:23;;8218::79;;;9876:42:104;9849:18;;8218:23:79;9732:192:104;8182:59:79;8255:23;8281:36;8288:3;8293:7;8302;8311:5;8281:6;:36::i;:::-;8255:62;;8335:3;:14;;;8353:1;8335:19;8331:81;;8397:14;;;;8363:49;;-1:-1:-1;;;8363:49:79;;10131:10:104;10119:23;;8363:49:79;;;10101:42:104;10159:18;;;10152:34;;;;10074:18;;8363:49:79;9929:263:104;8331:81:79;8436:3;8426:4;8431:1;8426:7;;;;;;;;:::i;:::-;;;;;;;;;;:13;8471;;8453:31;;;;:::i;:::-;;;8128:367;;8123:3;;;;;8094:401;;;;8043:458;7831:670;;;;;;;:::o;7006:819::-;7065:27;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7065:27:79;7118:13;:20;;-1:-1:-1;;;;;7163:18:79;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7163:18:79;-1:-1:-1;7148:33:79;;7238:3;-1:-1:-1;;;;;7225:17:79;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7225:17:79;-1:-1:-1;7191:31:79;;;:51;7252:23;7292:3;-1:-1:-1;;;;;7278:18:79;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7278:18:79;-1:-1:-1;7252:44:79;-1:-1:-1;7311:9:79;7306:229;7330:3;7326:1;:7;7306:229;;;7354:12;7369:13;7383:1;7369:16;;;;;;;;:::i;:::-;;;;;;;;;7354:31;;7417:4;7399:3;:12;;;7412:1;7399:15;;;;;;;;:::i;:::-;;;;;;:22;;;;;7447:4;7435:6;7442:1;7435:9;;;;;;;;:::i;:::-;;;;;;:16;;;;;7502:19;7522:1;7502:22;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7502:22:79;7465:3;:31;;;7497:1;7465:34;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7465:59:79;;;:34;;;;;;;;;;;:59;-1:-1:-1;7335:3:79;;7306:229;;;-1:-1:-1;7545:65:79;;;;;;;;;;-1:-1:-1;;7602:8:79;;7545:65;;7602:8;7545:65;;;;;;;;;;;;;;;;;;;;;;;;7642:68;7688:6;7696:13;7642:45;:68::i;:::-;7620:19;;;:90;7737:6;;:10;;-1:-1:-1;;;;;7737:6:79;;:10;:::i;:::-;-1:-1:-1;;;;;7720:27:79;:14;;;:27;;;7782:19;;;;;7771:47;;;;7720:27;7771:47;;19652:25:104;;;-1:-1:-1;;;;;19713:31:104;19708:2;19693:18;;19686:59;19640:2;19625:18;;19480:271;7771:47:79;;;;;;;;;;;;;7757:3;:11;;:61;;;;7094:731;;;7006:819;:::o;1419:547:90:-;1620:31;;:::i;:::-;1663:20;1686:26;1697:4;:14;;;1686:10;:26::i;:::-;1726:15;;;;1663:49;;-1:-1:-1;1726:19:90;1722:53;;1747:28;1759:4;:15;;;1747:11;:28::i;:::-;1793:8;;1841:92;;;;;;;;;;;;;;-1:-1:-1;;;;;1793:8:90;;;;:13;;1814:12;;1841:92;;;1866:25;1857:7;1866:16;:25::i;:::-;1841:92;;;;1893:8;1841:92;;;;1903:8;1841:92;;;;1931:1;1913:4;:15;;;:19;1841:92;;;;;1935:14;1793:166;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1720:281:40:-;-1:-1:-1;;;;;1713:19:50;;;1793:106:40;;;;-1:-1:-1;;;1793:106:40;;22549:2:104;1793:106:40;;;22531:21:104;22588:2;22568:18;;;22561:30;22627:34;22607:18;;;22600:62;-1:-1:-1;;;22678:18:104;;;22671:43;22731:19;;1793:106:40;22347:409:104;1793:106:40;-1:-1:-1;;;;;;;;;;;1909:85:40;;-1:-1:-1;;;;;;1909:85:40;-1:-1:-1;;;;;1909:85:40;;;;;;;;;;1720:281::o;2393:276::-;2501:29;2512:17;2501:10;:29::i;:::-;2558:1;2544:4;:11;:15;:28;;;;2563:9;2544:28;2540:123;;;2588:64;2628:17;2647:4;2588:39;:64::i;:::-;;2393:276;;;:::o;812:386:88:-;5374:13:42;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:42;;;;;;;:::i;:::-;-1:-1:-1;;;;;915:23:88;::::1;911:57;;947:21;;-1:-1:-1::0;;;947:21:88::1;;;;;;;;;;;911:57;-1:-1:-1::0;;;;;982:23:88;::::1;978:53;;1014:17;;-1:-1:-1::0;;;1014:17:88::1;;;;;;;;;;;978:53;1042:16;:14;:16::i;:::-;1068:8;:42:::0;;-1:-1:-1;;;;;;1068:42:88::1;-1:-1:-1::0;;;;;1068:42:88;::::1;;::::0;;1121:29:::1;1140:9:::0;1121:18:::1;:29::i;:::-;1160:8;::::0;:31:::1;::::0;-1:-1:-1;;;1160:31:88;;-1:-1:-1;;;;;7155:32:104;;;1160:31:88::1;::::0;::::1;7137:51:104::0;1160:8:88;;::::1;::::0;:20:::1;::::0;7110:18:104;;1160:31:88::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;812:386:::0;;:::o;1848:261:86:-;1901:40;;:::i;:::-;1967:1;1953:15;;1995:1;1978:125;104:1:85;1998::86;:16;1978:125;;2049:43;2059:8;2068:5;2072:1;2068;:5;:::i;:::-;2059:15;;;;;;;:::i;:::-;;;;;2076:8;2085:5;2089:1;2085;:5;:::i;:::-;2076:15;;;;;;;:::i;:::-;;;;;2049:9;:43::i;:::-;2035:8;2044:1;2035:11;;;;;;;:::i;:::-;;;;:57;2016:3;;;:::i;:::-;;;1978:125;;;;1848:261;:::o;1060:353:90:-;-1:-1:-1;;;;;;;;;;;;;;;;;1267:8:90;;1295:86;;;;;;;;;;;;;;-1:-1:-1;;;;;1267:8:90;;;;:14;;1295:86;;;1320:25;1311:7;1320:16;:25::i;:::-;1295:86;;;;1347:8;1295:86;;;;1357:8;1295:86;;;;1367:13;1295:86;;;;;1391:4;1267:139;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1260:146;1060:353;-1:-1:-1;;;;;1060:353:90:o;837:917:86:-;1022:13;;983:7;;1049:10;;;1045:69;;-1:-1:-1;;1082:21:86;;;;1075:28;;1045:69;1124:13;1147:430;1162:1;1154:5;:9;1147:430;;;1179:17;1214:1;1200:9;:5;1214:1;1200:9;:::i;:::-;1199:16;;;-1:-1:-1;1234:9:86;1229:244;1253:9;1249:1;:13;1229:244;;;1287:12;1302:6;1309:5;1313:1;1309;:5;:::i;:::-;1302:13;;;;;;;;:::i;:::-;;;;;;;1287:28;;1333:13;1362:5;1354:1;1350;:5;;;;:::i;:::-;:9;;1358:1;1350:9;:::i;:::-;:17;1349:57;;1391:8;1400:5;1391:15;;;;;;;:::i;:::-;;;;;1349:57;;;1371:6;1378:5;1382:1;1378;:5;:::i;:::-;:9;;1386:1;1378:9;:::i;:::-;1371:17;;;;;;;;:::i;:::-;;;;;;;1349:57;1333:73;;1436:22;1446:4;1452:5;1436:9;:22::i;:::-;1424:6;1431:1;1424:9;;;;;;;;:::i;:::-;;;;;;;;;;:34;-1:-1:-1;;1264:3:86;;1229:244;;;-1:-1:-1;1494:9:86;-1:-1:-1;1545:7:86;;1147:430;;;1587:12;1602:6;1609:1;1602:9;;;;;;;;:::i;:::-;;;;;;;1587:24;;1626:9;1638:5;1626:17;;1621:106;104:1:85;1645::86;:15;1621:106;;;1688:28;1698:4;1704:8;1713:1;1704:11;;;;;;;:::i;1688:28::-;1681:35;-1:-1:-1;1662:3:86;;1621:106;;;-1:-1:-1;1743:4:86;837:917;-1:-1:-1;;;;;837:917:86:o;10386:191:79:-;10453:17;10498:10;10486:9;:22;10482:61;;;10517:26;;-1:-1:-1;;;10517:26:79;;10533:9;10517:26;;;160:25:104;133:18;;10517:26:79;14:177:104;2169:274:90;2256:8;;:18;;;-1:-1:-1;;;2256:18:90;;;;2238:15;;-1:-1:-1;;;;;2256:8:90;;:16;;:18;;;;;;;;;;;;;;:8;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2238:36;-1:-1:-1;;;;;;2288:21:90;;2284:54;;2318:20;;-1:-1:-1;;;2318:20:90;;;;;;;;;;;2284:54;2413:8;;2349:87;;-1:-1:-1;;;;;2349:43:90;;;;2393:10;;2413:8;2424:11;2349:43;:87::i;1897:196:88:-;2001:11;;;1967:7;2001:11;;;:5;:11;;;;;;;2022:43;;2053:12;;-1:-1:-1;;;2053:12:88;;9906:10:104;9894:23;;2053:12:88;;;9876:42:104;9849:18;;2053:12:88;9732:192:104;2107:152:40;2173:37;2192:17;2173:18;:37::i;:::-;2225:27;;-1:-1:-1;;;;;2225:27:40;;;;;;;;2107:152;:::o;6685:198:50:-;6768:12;6799:77;6820:6;6828:4;6799:77;;;;;;;;;;;;;;;;;:20;:77::i;:::-;6792:84;6685:198;-1:-1:-1;;;6685:198:50:o;1024:95:37:-;5374:13:42;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:42;;;;;;;:::i;:::-;1086:26:37::1;:24;:26::i;2188:214:86:-:0;2259:7;2278:24;;:::i;:::-;2312:16;;;:9;2338;;:17;;;2372:23;;-1:-1:-1;;;2372:23:86;;:10;;:15;;:23;;2312:6;;2372:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1421:214:49:-;1559:68;;;-1:-1:-1;;;;;24533:32:104;;;1559:68:49;;;24515:51:104;24602:32;;24582:18;;;24575:60;24651:18;;;;24644:34;;;1559:68:49;;;;;;;;;;24488:18:104;;;;1559:68:49;;;;;;;;-1:-1:-1;;;;;1559:68:49;-1:-1:-1;;;1559:68:49;;;1532:96;;1552:5;;1532:19;:96::i;7069:325:50:-;7210:12;7235;7249:23;7276:6;-1:-1:-1;;;;;7276:19:50;7296:4;7276:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7234:67;;;;7318:69;7345:6;7353:7;7362:10;7374:12;7318:26;:69::i;:::-;7311:76;7069:325;-1:-1:-1;;;;;;7069:325:50:o;1125:111:37:-;5374:13:42;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:42;;;;;;;:::i;:::-;1197:32:37::1;965:10:51::0;1197:18:37::1;:32::i;5328:653:49:-:0;5758:23;5784:69;5812:4;5784:69;;;;;;;;;;;;;;;;;5792:5;-1:-1:-1;;;;;5784:27:49;;;:69;;;;;:::i;:::-;5758:95;;5871:10;:17;5892:1;5871:22;:56;;;;5908:10;5897:30;;;;;;;;;;;;:::i;:::-;5863:111;;;;-1:-1:-1;;;5863:111:49;;25479:2:104;5863:111:49;;;25461:21:104;25518:2;25498:18;;;25491:30;25557:34;25537:18;;;25530:62;-1:-1:-1;;;25608:18:104;;;25601:40;25658:19;;5863:111:49;25277:406:104;7682:628:50;7862:12;7890:7;7886:418;;;7917:10;:17;7938:1;7917:22;7913:286;;-1:-1:-1;;;;;1713:19:50;;;8124:60;;;;-1:-1:-1;;;8124:60:50;;25890:2:104;8124:60:50;;;25872:21:104;25929:2;25909:18;;;25902:30;25968:31;25948:18;;;25941:59;26017:18;;8124:60:50;25688:353:104;8124:60:50;-1:-1:-1;8219:10:50;8212:17;;7886:418;8260:33;8268:10;8280:12;8260:7;:33::i;4119:223::-;4252:12;4283:52;4305:6;4313:4;4319:1;4322:12;4283:21;:52::i;8832:540::-;8991:17;;:21;8987:379;;9219:10;9213:17;9275:15;9262:10;9258:2;9254:19;9247:44;8987:379;9342:12;9335:20;;-1:-1:-1;;;9335:20:50;;;;;;;;:::i;5176:446::-;5341:12;5398:5;5373:21;:30;;5365:81;;;;-1:-1:-1;;;5365:81:50;;26472:2:104;5365:81:50;;;26454:21:104;26511:2;26491:18;;;26484:30;26550:34;26530:18;;;26523:62;-1:-1:-1;;;26601:18:104;;;26594:36;26647:19;;5365:81:50;26270:402:104;5365:81:50;5457:12;5471:23;5498:6;-1:-1:-1;;;;;5498:11:50;5517:5;5524:4;5498:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5456:73;;;;5546:69;5573:6;5581:7;5590:10;5602:12;5546:26;:69::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;196:154:104:-;255:5;300:2;291:6;286:3;282:16;278:25;275:45;;;316:1;313;306:12;275:45;-1:-1:-1;338:6:104;196:154;-1:-1:-1;196:154:104:o;355:347::-;406:8;416:6;470:3;463:4;455:6;451:17;447:27;437:55;;488:1;485;478:12;437:55;-1:-1:-1;511:20:104;;-1:-1:-1;;;;;543:30:104;;540:50;;;586:1;583;576:12;540:50;623:4;615:6;611:17;599:29;;675:3;668:4;659:6;651;647:19;643:30;640:39;637:59;;;692:1;689;682:12;637:59;355:347;;;;;:::o;707:131::-;-1:-1:-1;;;;;782:31:104;;772:42;;762:70;;828:1;825;818:12;843:1095;986:6;994;1002;1010;1018;1026;1034;1087:3;1075:9;1066:7;1062:23;1058:33;1055:53;;;1104:1;1101;1094:12;1055:53;1127;1172:7;1161:9;1127:53;:::i;:::-;1117:63;-1:-1:-1;1249:2:104;1234:18;;1221:32;;-1:-1:-1;1328:3:104;1313:19;;1300:33;-1:-1:-1;;;;;1345:30:104;;1342:50;;;1388:1;1385;1378:12;1342:50;1427:58;1477:7;1468:6;1457:9;1453:22;1427:58;:::i;:::-;1504:8;;-1:-1:-1;1401:84:104;-1:-1:-1;;1591:3:104;1576:19;;1563:33;1605;1563;1605;:::i;:::-;1657:7;-1:-1:-1;1717:3:104;1702:19;;1689:33;-1:-1:-1;;;;;1734:32:104;;1731:52;;;1779:1;1776;1769:12;1731:52;1818:60;1870:7;1859:8;1848:9;1844:24;1818:60;:::i;:::-;843:1095;;;;-1:-1:-1;843:1095:104;;-1:-1:-1;843:1095:104;;;;1792:86;;-1:-1:-1;;;843:1095:104:o;2242:958::-;2488:2;2500:21;;;2570:13;;2473:18;;;2592:22;;;2440:4;;2671:15;;;2645:2;2630:18;;;2440:4;2714:460;2728:6;2725:1;2722:13;2714:460;;;2787:13;;2829:9;;-1:-1:-1;;;;;2825:34:104;2813:47;;2912:2;2904:11;;;2898:18;2918:10;2894:35;2880:12;;;2873:57;2982:2;2974:11;;;2968:18;-1:-1:-1;;;;;2964:44:104;;;2950:12;;;2943:66;;;;3063:4;3055:13;;;3049:20;3045:46;3029:14;;;3022:70;;;;3149:15;;;;3121:4;3112:14;;;;3005:1;2743:9;2714:460;;;-1:-1:-1;3191:3:104;;2242:958;-1:-1:-1;;;;;2242:958:104:o;3205:121::-;3290:10;3283:5;3279:22;3272:5;3269:33;3259:61;;3316:1;3313;3306:12;3331:245;3389:6;3442:2;3430:9;3421:7;3417:23;3413:32;3410:52;;;3458:1;3455;3448:12;3410:52;3497:9;3484:23;3516:30;3540:5;3516:30;:::i;3581:234::-;3670:6;3730:3;3718:9;3709:7;3705:23;3701:33;3746:2;3743:22;;;3761:1;3758;3751:12;3743:22;-1:-1:-1;3800:9:104;;3581:234;-1:-1:-1;;3581:234:104:o;3820:365::-;3887:6;3895;3948:2;3936:9;3927:7;3923:23;3919:32;3916:52;;;3964:1;3961;3954:12;3916:52;4003:9;3990:23;4022:30;4046:5;4022:30;:::i;:::-;4071:5;4149:2;4134:18;;;;4121:32;;-1:-1:-1;;;3820:365:104:o;4190:247::-;4249:6;4302:2;4290:9;4281:7;4277:23;4273:32;4270:52;;;4318:1;4315;4308:12;4270:52;4357:9;4344:23;4376:31;4401:5;4376:31;:::i;4442:226::-;4501:6;4554:2;4542:9;4533:7;4529:23;4525:32;4522:52;;;4570:1;4567;4560:12;4522:52;-1:-1:-1;4615:23:104;;4442:226;-1:-1:-1;4442:226:104:o;4865:388::-;4933:6;4941;4994:2;4982:9;4973:7;4969:23;4965:32;4962:52;;;5010:1;5007;5000:12;4962:52;5049:9;5036:23;5068:31;5093:5;5068:31;:::i;:::-;5118:5;-1:-1:-1;5175:2:104;5160:18;;5147:32;5188:33;5147:32;5188:33;:::i;:::-;5240:7;5230:17;;;4865:388;;;;;:::o;5258:127::-;5319:10;5314:3;5310:20;5307:1;5300:31;5350:4;5347:1;5340:15;5374:4;5371:1;5364:15;5390:275;5461:2;5455:9;5526:2;5507:13;;-1:-1:-1;;5503:27:104;5491:40;;-1:-1:-1;;;;;5546:34:104;;5582:22;;;5543:62;5540:88;;;5608:18;;:::i;:::-;5644:2;5637:22;5390:275;;-1:-1:-1;5390:275:104:o;5670:900::-;5747:6;5755;5808:2;5796:9;5787:7;5783:23;5779:32;5776:52;;;5824:1;5821;5814:12;5776:52;5863:9;5850:23;5882:31;5907:5;5882:31;:::i;:::-;5932:5;-1:-1:-1;5988:2:104;5973:18;;5960:32;-1:-1:-1;;;;;6004:30:104;;6001:50;;;6047:1;6044;6037:12;6001:50;6070:22;;6123:4;6115:13;;6111:27;-1:-1:-1;6101:55:104;;6152:1;6149;6142:12;6101:55;6192:2;6179:16;-1:-1:-1;;;;;6210:6:104;6207:30;6204:56;;;6240:18;;:::i;:::-;6282:57;6329:2;6306:17;;-1:-1:-1;;6302:31:104;6335:2;6298:40;6282:57;:::i;:::-;6362:6;6355:5;6348:21;6410:7;6405:2;6396:6;6392:2;6388:15;6384:24;6381:37;6378:57;;;6431:1;6428;6421:12;6378:57;6486:6;6481:2;6477;6473:11;6468:2;6461:5;6457:14;6444:49;6538:1;6533:2;6524:6;6517:5;6513:18;6509:27;6502:38;6559:5;6549:15;;;;;5670:900;;;;;:::o;7685:670::-;7799:6;7807;7815;7823;7876:3;7864:9;7855:7;7851:23;7847:33;7844:53;;;7893:1;7890;7883:12;7844:53;7916;7961:7;7950:9;7916:53;:::i;:::-;7906:63;;8020:2;8009:9;8005:18;7992:32;-1:-1:-1;;;;;8039:6:104;8036:30;8033:50;;;8079:1;8076;8069:12;8033:50;8118:58;8168:7;8159:6;8148:9;8144:22;8118:58;:::i;:::-;8195:8;;-1:-1:-1;8092:84:104;-1:-1:-1;;8280:3:104;8265:19;;8252:33;8294:31;8252:33;8294:31;:::i;:::-;7685:670;;;;-1:-1:-1;7685:670:104;;-1:-1:-1;;7685:670:104:o;8568:918::-;8673:6;8681;8689;8697;8750:2;8738:9;8729:7;8725:23;8721:32;8718:52;;;8766:1;8763;8756:12;8718:52;8806:9;8793:23;-1:-1:-1;;;;;8831:6:104;8828:30;8825:50;;;8871:1;8868;8861:12;8825:50;8894:22;;8947:4;8939:13;;8935:27;-1:-1:-1;8925:55:104;;8976:1;8973;8966:12;8925:55;9016:2;9003:16;-1:-1:-1;;;;;9034:6:104;9031:30;9028:50;;;9074:1;9071;9064:12;9028:50;9129:7;9122:4;9112:6;9109:1;9105:14;9101:2;9097:23;9093:34;9090:47;9087:67;;;9150:1;9147;9140:12;9087:67;9181:4;9173:13;;;;-1:-1:-1;9205:6:104;-1:-1:-1;9249:20:104;;9236:34;-1:-1:-1;;;;;9282:32:104;;9279:52;;;9327:1;9324;9317:12;9279:52;9366:60;9418:7;9407:8;9396:9;9392:24;9366:60;:::i;:::-;8568:918;;;;-1:-1:-1;9445:8:104;-1:-1:-1;;;;8568:918:104:o;9491:236::-;9576:6;9629:2;9617:9;9608:7;9604:23;9600:32;9597:52;;;9645:1;9642;9635:12;9597:52;9668:53;9713:7;9702:9;9668:53;:::i;10197:127::-;10258:10;10253:3;10249:20;10246:1;10239:31;10289:4;10286:1;10279:15;10313:4;10310:1;10303:15;10329:129;-1:-1:-1;;;;;10407:5:104;10403:30;10396:5;10393:41;10383:69;;10448:1;10445;10438:12;10463:245;10521:6;10574:2;10562:9;10553:7;10549:23;10545:32;10542:52;;;10590:1;10587;10580:12;10542:52;10629:9;10616:23;10648:30;10672:5;10648:30;:::i;10713:1123::-;10885:5;10872:19;10900:32;10924:7;10900:32;:::i;:::-;-1:-1:-1;;;;;10955:7:104;10951:32;10941:42;;11008:4;11002:11;11072:2;-1:-1:-1;;;;;11046:23:104;11042:2;11038:32;11035:40;11029:4;11022:54;11124:2;11117:5;11113:14;11100:28;11137:32;11161:7;11137:32;:::i;:::-;11216:26;11206:7;11202:2;11198:16;11194:49;11178:65;;11318:8;11313:2;11283:26;11279:31;11275:2;11271:40;11268:48;11265:62;11259:4;11252:76;11376:2;11369:5;11365:14;11352:28;11337:43;;11389:33;11414:7;11389:33;:::i;:::-;11447:16;;;11473:2;11469:16;;;-1:-1:-1;;11465:54:104;11444:76;11431:90;;11549:1;;11587:14;;11574:28;11611:33;11574:28;11611:33;:::i;:::-;11708:1;11698:12;;;;11741:13;;-1:-1:-1;;;;;;11737:56:104;-1:-1:-1;;;;;11795:33:104;;;11734:95;;;;11719:111;;;-1:-1:-1;;10713:1123:104:o;11841:127::-;11902:10;11897:3;11893:20;11890:1;11883:31;11933:4;11930:1;11923:15;11957:4;11954:1;11947:15;11973:125;12038:9;;;12059:10;;;12056:36;;;12072:18;;:::i;12502:408::-;12704:2;12686:21;;;12743:2;12723:18;;;12716:30;12782:34;12777:2;12762:18;;12755:62;-1:-1:-1;;;12848:2:104;12833:18;;12826:42;12900:3;12885:19;;12502:408::o;12915:::-;13117:2;13099:21;;;13156:2;13136:18;;;13129:30;13195:34;13190:2;13175:18;;13168:62;-1:-1:-1;;;13261:2:104;13246:18;;13239:42;13313:3;13298:19;;12915:408::o;14367:128::-;14434:9;;;14455:11;;;14452:37;;;14469:18;;:::i;15233:1168::-;15499:2;15511:21;;;15581:13;;15484:18;;;15603:22;;;15451:4;;15694;15682:17;;;15656:2;15641:18;;;15451:4;15727:173;15741:6;15738:1;15735:13;15727:173;;;15802:13;;15790:26;;15845:4;15873:17;;;;15836:14;;;;15763:1;15756:9;15727:173;;;-1:-1:-1;;15938:19:104;;;15931:4;15916:20;;;15909:49;;;;16008:13;;16030:21;;;16069:14;;;;-1:-1:-1;16108:17:104;;;16145:1;16155:218;16171:8;16166:3;16163:17;16155:218;;;16244:15;;-1:-1:-1;;;;;16240:40:104;16226:55;;16314:4;16303:16;;;;16344:19;;;;16199:1;16190:11;16155:218;;;-1:-1:-1;16390:5:104;;15233:1168;-1:-1:-1;;;;;;15233:1168:104:o;16813:365::-;16880:6;16888;16941:2;16929:9;16920:7;16916:23;16912:32;16909:52;;;16957:1;16954;16947:12;16909:52;17002:23;;;-1:-1:-1;17101:2:104;17086:18;;17073:32;17114;17073;17114;:::i;17544:230::-;17614:6;17667:2;17655:9;17646:7;17642:23;17638:32;17635:52;;;17683:1;17680;17673:12;17635:52;-1:-1:-1;17728:16:104;;17544:230;-1:-1:-1;17544:230:104:o;18604:407::-;18806:2;18788:21;;;18845:2;18825:18;;;18818:30;18884:34;18879:2;18864:18;;18857:62;-1:-1:-1;;;18950:2:104;18935:18;;18928:41;19001:3;18986:19;;18604:407::o;19284:191::-;-1:-1:-1;;;;;19352:26:104;;;19380;;;19348:59;;19419:27;;19416:53;;;19449:18;;:::i;19756:288::-;19797:3;19835:5;19829:12;19862:6;19857:3;19850:19;19918:6;19911:4;19904:5;19900:16;19893:4;19888:3;19884:14;19878:47;19970:1;19963:4;19954:6;19949:3;19945:16;19941:27;19934:38;20033:4;20026:2;20022:7;20017:2;20009:6;20005:15;20001:29;19996:3;19992:39;19988:50;19981:57;;;19756:288;;;;:::o;20049:889::-;20272:2;20261:9;20254:21;20330:10;20321:6;20315:13;20311:30;20306:2;20295:9;20291:18;20284:58;20396:4;20388:6;20384:17;20378:24;20373:2;20362:9;20358:18;20351:52;20235:4;20450:2;20442:6;20438:15;20432:22;20491:4;20485:3;20474:9;20470:19;20463:33;20519:51;20565:3;20554:9;20550:19;20536:12;20519:51;:::i;:::-;20505:65;;20619:2;20611:6;20607:15;20601:22;20693:2;20689:7;20677:9;20669:6;20665:22;20661:36;20654:4;20643:9;20639:20;20632:66;20721:40;20754:6;20738:14;20721:40;:::i;:::-;20830:3;20818:16;;;;20812:23;20805:31;20798:39;20792:3;20777:19;;20770:68;-1:-1:-1;;;;;;;;20899:32:104;;;;20892:4;20877:20;;;20870:62;20707:54;20049:889::o;20943:602::-;21013:5;21061:4;21049:9;21044:3;21040:19;21036:30;21033:50;;;21079:1;21076;21069:12;21033:50;21132:4;21126:11;;;21164:17;;-1:-1:-1;;;;;21196:34:104;;21232:22;;;21193:62;21190:88;;;21258:18;;:::i;:::-;21294:4;21287:24;21380:16;;21405:23;;21494:2;21479:18;;;21473:25;21514:15;;;21507:32;;;;-1:-1:-1;21329:6:104;20943:602;-1:-1:-1;20943:602:104:o;21550:792::-;21654:6;21714:3;21702:9;21693:7;21689:23;21685:33;21730:2;21727:22;;;21745:1;21742;21735:12;21727:22;-1:-1:-1;21814:2:104;21808:9;21856:4;21844:17;;-1:-1:-1;;;;;21876:34:104;;21912:22;;;21873:62;21870:88;;;21938:18;;:::i;:::-;21974:2;21967:22;22030:16;;22055:21;;22121:2;22106:18;;22100:25;22134:32;22100:25;22134:32;:::i;:::-;22194:2;22182:15;;22175:32;22240:70;22302:7;22297:2;22282:18;;22240:70;:::i;:::-;22235:2;22223:15;;22216:95;22227:6;21550:792;-1:-1:-1;;;21550:792:104:o;22761:135::-;22800:3;22821:17;;;22818:43;;22841:18;;:::i;:::-;-1:-1:-1;22888:1:104;22877:13;;22761:135::o;22901:259::-;23001:6;23054:2;23042:9;23033:7;23029:23;23025:32;23022:52;;;23070:1;23067;23060:12;23022:52;23093:61;23146:7;23135:9;23093:61;:::i;23165:168::-;23238:9;;;23269;;23286:15;;;23280:22;;23266:37;23256:71;;23307:18;;:::i;23338:251::-;23408:6;23461:2;23449:9;23440:7;23436:23;23432:32;23429:52;;;23477:1;23474;23467:12;23429:52;23509:9;23503:16;23528:31;23553:5;23528:31;:::i;23594:479::-;23782:2;23767:18;;23771:9;23862:6;23740:4;23896:171;23910:4;23907:1;23904:11;23896:171;;;23969:13;;23957:26;;24012:4;24003:14;;;;24040:17;;;;23930:1;23923:9;23896:171;;;23900:3;;;23594:479;;;;:::o;24689:301::-;24818:3;24856:6;24850:13;24902:6;24895:4;24887:6;24883:17;24878:3;24872:37;24964:1;24928:16;;24953:13;;;-1:-1:-1;24928:16:104;24689:301;-1:-1:-1;24689:301:104:o;24995:277::-;25062:6;25115:2;25103:9;25094:7;25090:23;25086:32;25083:52;;;25131:1;25128;25121:12;25083:52;25163:9;25157:16;25216:5;25209:13;25202:21;25195:5;25192:32;25182:60;;25238:1;25235;25228:12;26046:219;26195:2;26184:9;26177:21;26158:4;26215:44;26255:2;26244:9;26240:18;26232:6;26215:44;:::i",
|
|
493
|
-
"linkReferences": {
|
|
494
|
-
"lib/poseidon-solidity/contracts/PoseidonT3.sol": {
|
|
495
|
-
"PoseidonT3": [{ "start": 9634, "length": 20 }]
|
|
496
|
-
}
|
|
497
|
-
},
|
|
498
|
-
"immutableReferences": {
|
|
499
|
-
"43171": [
|
|
500
|
-
{ "start": 2920, "length": 32 },
|
|
501
|
-
{ "start": 2984, "length": 32 },
|
|
502
|
-
{ "start": 3451, "length": 32 },
|
|
503
|
-
{ "start": 3515, "length": 32 },
|
|
504
|
-
{ "start": 3656, "length": 32 }
|
|
505
|
-
]
|
|
506
|
-
}
|
|
507
|
-
},
|
|
508
|
-
"methodIdentifiers": {
|
|
509
|
-
"MAX_LEAVES()": "082febf0",
|
|
510
|
-
"aggSeq()": "c0d03dd4",
|
|
511
|
-
"allowInitializePath((uint32,bytes32,uint64))": "ff7bd03d",
|
|
512
|
-
"broadcast(uint32[],bytes)": "cab45f12",
|
|
513
|
-
"eidToPosition(uint32)": "2dd992be",
|
|
514
|
-
"endpoint()": "5e280f11",
|
|
515
|
-
"getTokenInfos()": "193695eb",
|
|
516
|
-
"initialize(address,address)": "485cc955",
|
|
517
|
-
"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)": "82413eac",
|
|
518
|
-
"isUpToDate()": "442bde04",
|
|
519
|
-
"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)": "13137d65",
|
|
520
|
-
"nextNonce(uint32,bytes32)": "7d25a05e",
|
|
521
|
-
"oAppVersion()": "17442b70",
|
|
522
|
-
"owner()": "8da5cb5b",
|
|
523
|
-
"peers(uint32)": "bb0b6a53",
|
|
524
|
-
"proxiableUUID()": "52d1902d",
|
|
525
|
-
"quoteBroadcast(uint32[],bytes)": "8e3a428e",
|
|
526
|
-
"registerToken((uint64,uint32,address,address))": "327a75d2",
|
|
527
|
-
"renounceOwnership()": "715018a6",
|
|
528
|
-
"setDelegate(address)": "ca5eb5e1",
|
|
529
|
-
"setPeer(uint32,bytes32)": "3400288b",
|
|
530
|
-
"tokenInfos(uint256)": "7c13774b",
|
|
531
|
-
"transferOwnership(address)": "f2fde38b",
|
|
532
|
-
"transferRoots(uint256)": "8f84778d",
|
|
533
|
-
"transferTreeIndices(uint256)": "534dc25e",
|
|
534
|
-
"updateToken((uint64,uint32,address,address))": "62b32f58",
|
|
535
|
-
"upgradeTo(address)": "3659cfe6",
|
|
536
|
-
"upgradeToAndCall(address,bytes)": "4f1ef286",
|
|
537
|
-
"zeroHash(uint256)": "41b4631e"
|
|
538
|
-
},
|
|
539
|
-
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeeRefundFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HubCapacityReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegate\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEndpointCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidPayloadLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"lzTokenFee\",\"type\":\"uint256\"}],\"name\":\"LayerZeroTokenFeeUnsupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LzTokenUnavailable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"NativeFeeMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"NoPeer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"}],\"name\":\"NotEnoughNative\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"OnlyEndpoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"}],\"name\":\"OnlyPeer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"TokenAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"TokenNotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroVerifier\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"aggSeq\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"transferRootsSnapshot\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint64[]\",\"name\":\"transferTreeIndicesSnapshot\",\"type\":\"uint64[]\"}],\"name\":\"AggregationRootUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"peer\",\"type\":\"bytes32\"}],\"name\":\"PeerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"TokenRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"TokenUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRoot\",\"type\":\"uint256\"}],\"name\":\"TransferRootUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_LEAVES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"aggSeq\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"origin\",\"type\":\"tuple\"}],\"name\":\"allowInitializePath\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"targetEids\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes\",\"name\":\"lzOptions\",\"type\":\"bytes\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"eidToPosition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endpoint\",\"outputs\":[{\"internalType\":\"contract ILayerZeroEndpointV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTokenInfos\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct Hub.TokenInfo[]\",\"name\":\"infos\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"endpoint\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"isComposeMsgSender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isUpToDate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"origin\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"guid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\"}],\"name\":\"lzReceive\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nextNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oAppVersion\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"senderVersion\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"receiverVersion\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"peers\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"peer\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"targetEids\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes\",\"name\":\"lzOptions\",\"type\":\"bytes\"}],\"name\":\"quoteBroadcast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalNativeFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct Hub.TokenInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"name\":\"registerToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegate\",\"type\":\"address\"}],\"name\":\"setDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_peer\",\"type\":\"bytes32\"}],\"name\":\"setPeer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tokenInfos\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferRoots\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferTreeIndices\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct Hub.TokenInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"name\":\"updateToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"zeroHash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Matches docs/contract_jp.md with PoseidonT3 hashing and a maximum of MAX_LEAVES leaves.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setDelegate(address)\":{\"params\":{\"_delegate\":\"The address of the delegate to be set.\"}},\"setPeer(uint32,bytes32)\":{\"params\":{\"_eid\":\"The endpoint ID.\",\"_peer\":\"The address of the peer to be associated with the corresponding endpoint.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Hub\",\"version\":1},\"userdoc\":{\"errors\":{\"HubCapacityReached()\":[{\"notice\":\"----------------------------------------------------------------------- Errors -----------------------------------------------------------------------\"}]},\"kind\":\"user\",\"methods\":{\"MAX_LEAVES()\":{\"notice\":\"----------------------------------------------------------------------- Constants & Storage -----------------------------------------------------------------------\"},\"constructor\":{\"notice\":\"----------------------------------------------------------------------- Constructor -----------------------------------------------------------------------\"},\"endpoint()\":{\"notice\":\"Retrieves the LayerZero endpoint associated with the OApp.\"},\"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)\":{\"notice\":\"----------------------------------------------------------------------- LayerZero Receiver -----------------------------------------------------------------------\"},\"peers(uint32)\":{\"notice\":\"Retrieves the peer (OApp) associated with a corresponding endpoint.\"},\"registerToken((uint64,uint32,address,address))\":{\"notice\":\"----------------------------------------------------------------------- Mutations -----------------------------------------------------------------------\"},\"setDelegate(address)\":{\"notice\":\"Sets the delegate address for the OApp Core.\"},\"setPeer(uint32,bytes32)\":{\"notice\":\"Sets the peer address (OApp instance) for a corresponding endpoint.\"}},\"notice\":\"Maintains per-EID transfer roots, aggregates them via Poseidon, and broadcasts the aggregation root.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Hub.sol\":\"Hub\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@layerzerolabs/lz-evm-messagelib-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/messagelib/\",\":@layerzerolabs/lz-evm-oapp-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/\",\":@layerzerolabs/lz-evm-protocol-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":LayerZero-v2/=lib/LayerZero-v2/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":poseidon-solidity/=lib/poseidon-solidity/\",\":solidity-bytes-utils/=lib/solidity-bytes-utils/\"]},\"sources\":{\"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OApp.sol\":{\"keccak256\":\"0xac362c4c291fad2f1511a968424b2e78a5ad502d1c867bd31da04be742aca8c5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e1f8cf9f20a2b683a53c3883972aa0676af97a24c678f461fae08e1fb056df28\",\"dweb:/ipfs/QmPpKNqda3rgxDwnq3XiRTtT3NfWeqrCJT6LwmhYd2AoT2\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OAppCore.sol\":{\"keccak256\":\"0x13a9c2d1d2c1f086b8624f2e84c4a4702212daae36f701d92bb915b535cbe4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://606515dd9193551bd2c94ac8c304f3776fafcc70e544ebf441f334658b2fd5f0\",\"dweb:/ipfs/QmZ88ey7DdZqV5taAoebabvszX5kdPMSrQCAmTteVdDtcH\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OAppReceiver.sol\":{\"keccak256\":\"0x0174e9f1ec4cefe4b5adc26c392269c699b9ff75965364e5b7264426a462c70b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cd12bb4fe5802c53911b9a0081a2ea10639b1f99925d1e5c1b1421d1bdc17075\",\"dweb:/ipfs/QmZonarwbKiEwQ8qoASKur2bbMjusdy9pqK9RCR4P1YPtc\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OAppSender.sol\":{\"keccak256\":\"0x518cf4adca601923ed4baa6619846a253ea32b8d8775f8bc1faa3dfac7f67c20\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d42b471418efadcc3577ef3fa9f8f504e8bed7db90c3b0c862038d8b29529eb2\",\"dweb:/ipfs/QmZETDQiJN4U92fmLKo8T9ZbdDf7BNBUUvo9H7M7GqAyFU\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/interfaces/IOAppCore.sol\":{\"keccak256\":\"0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd\",\"dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/interfaces/IOAppReceiver.sol\":{\"keccak256\":\"0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2\",\"dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroEndpointV2.sol\":{\"keccak256\":\"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083\",\"dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroReceiver.sol\":{\"keccak256\":\"0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933\",\"dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessageLibManager.sol\":{\"keccak256\":\"0xd710f9efe703982e8eabe15d19d6114af753ef42f2796551da782a0fb6633e4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5c9c874871469c871004d49a1cb5304e63ea3faaf366bfed9d718abbb9cc20a\",\"dweb:/ipfs/QmarXxE4dezAa5gBe82KCrcvWcMwa3BYqkfXbDQ3rRjfEB\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingChannel.sol\":{\"keccak256\":\"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927\",\"dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingComposer.sol\":{\"keccak256\":\"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d\",\"dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingContext.sol\":{\"keccak256\":\"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6\",\"dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x7795808e3899c805254e3ae58074b20f799b466e3f43e057e47bedee5fb771f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://319853a2a682f3f72411507242669ef5e76e0ad3457be53102439709ee8948f0\",\"dweb:/ipfs/QmRtm4Ese9u4jfxXyuWPXLwzenwFotuQjAWV7rXtZTB1E9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xefb41f5c1a00249b7a99f0782f8c557865605426a3fb6e5fe9ae334293ae4f33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90def55e5782595aabc13f57780c02d3613e5226f20ce6c1709503a63fdeb58f\",\"dweb:/ipfs/Qmb5vcymmNEZUJMaHmYxnhvGJDEsGMae4YjcHwkA74jy99\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol\":{\"keccak256\":\"0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f\",\"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol\":{\"keccak256\":\"0x07e881de3b9f6d2c07909f193f24b96c7fe4ea60013260f3f25aecd8bab3c2f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fed09b97ccb0ff9ba9b6a94224f1d489026bf6b4b7279bfe64fb6e8749dee4d\",\"dweb:/ipfs/QmcRAzaSP1UnGr4vrGkfJmB2L9aiTYoXfV1Lg9gqrVRWn8\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol\":{\"keccak256\":\"0x23b997be73d3dd46885262704f0f8cfc7273fdadfe303d37969a9561373972b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d03ebe5406134f0c4a017dee625ff615031194493bd1e88504e5c8fae55bc166\",\"dweb:/ipfs/QmUZV5bMbgk2PAkV3coouSeSainHN2jhqaQDJaA7hQRyu2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/poseidon-solidity/contracts/PoseidonT3.sol\":{\"keccak256\":\"0x0102caa303bbc6690508f3615604f7730789ed990058c9513a87ccb30e4835be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fe7291d5f998eaf7dfe37961b8a8e72f60cf79a7a34459efa5683ca3a702971\",\"dweb:/ipfs/QmQExqgvNEPKLq15rNygqmthUnAPWgTm4m3Bb5BCExwHF1\"]},\"src/Hub.sol\":{\"keccak256\":\"0xe2596f40a1666ef24206f935f775abab4e8ff898a9d77f02b22bfa8c3acbebc2\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://ae6938113776e26cc8c9d68113184e2b394c94dcd749dba324905577542ca7f3\",\"dweb:/ipfs/QmYKQMHvkQyWi2UmiuSqXxpPuynXXNf5vTiAkSbpKxJz3x\"]},\"src/utils/PoseidonAggregationConfig.sol\":{\"keccak256\":\"0x11f40fc0915a1b22acf738afe993e9ae7df22c84aaf87c4bbb9b4fc2b9da71f7\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://059a3319a7acaea26bd5c7dffe15d557a221ffa88efe7ea16d4bd7b84ae69a3d\",\"dweb:/ipfs/QmSTcDLmMTj326BxG7i4p2T5FU3WbwLWgQPECLU8GhbWGi\"]},\"src/utils/PoseidonAggregationLib.sol\":{\"keccak256\":\"0x2d0e05e0cf86d6af47cb150e680d91822c4ce31bc2106fe51d6aba03c948d0b3\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://b27433a4801beb1035837d5494bff7c3edb7984b2a3c131452d65d73124fefd7\",\"dweb:/ipfs/QmaT78rmNpXnpZqs8G5D36Fwd2m2SEaDPRET7iQbP8m7pt\"]},\"src/utils/layerzero/OAppCoreUpgradeable.sol\":{\"keccak256\":\"0x6354989465912310b627a01d320faa42ed38434a1d1c96c4c2e0a50b70ebe690\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b1ba95d17f53b32b4872343cff9306661ca4a84aeb977f4fec9ae260833c0a6\",\"dweb:/ipfs/QmPqLYitbVdiwTshcNgetydJ14W35wJinTzYHQaKHMoqB4\"]},\"src/utils/layerzero/OAppReceiverUpgradeable.sol\":{\"keccak256\":\"0x87af380d4a127a8b31f05cb8204fcbc25c0f4c6d72bbbac0153a4f03249a1185\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7daa3bec4f9742aa0f32c79fdb40bdecd09ffcccfe930df7894f15297e29a8cc\",\"dweb:/ipfs/Qmb8GtA4MiM7HGYyH2ST8nSHSNVhdd4abCMUmeU3yc6uVx\"]},\"src/utils/layerzero/OAppSenderUpgradeable.sol\":{\"keccak256\":\"0xf67e340df21386d8b8a7b703fa3961be7172da71eb879956d53ace1fe9c026e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91bb95dcaf3f0878d40c10147440fd6ba9ce413a28a7dcb04fae8768ce3cc6cf\",\"dweb:/ipfs/QmSKPamDA8xYVX6u2otJdqvEFdb6tYo1Tsdvxpxy2Mox3V\"]},\"src/utils/layerzero/OAppUpgradeable.sol\":{\"keccak256\":\"0xbae19d461232c03fbf0354286d42c6727b5ef0ad33e2b04312eda54df79f9f85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://02115f24d381df7da58878b1b0ecec52eec623a7e0891017307a79a81eeee31e\",\"dweb:/ipfs/QmbYCZBX4eoAyTvf8Am7iT4XqKCr1URscRTkHPfgyoDAJJ\"]}},\"version\":1}",
|
|
540
|
-
"metadata": {
|
|
541
|
-
"compiler": { "version": "0.8.30+commit.73712a01" },
|
|
542
|
-
"language": "Solidity",
|
|
543
|
-
"output": {
|
|
544
|
-
"abi": [
|
|
545
|
-
{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" },
|
|
546
|
-
{
|
|
547
|
-
"inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }],
|
|
548
|
-
"type": "error",
|
|
549
|
-
"name": "FeeRefundFailed"
|
|
550
|
-
},
|
|
551
|
-
{ "inputs": [], "type": "error", "name": "HubCapacityReached" },
|
|
552
|
-
{ "inputs": [], "type": "error", "name": "InvalidChainId" },
|
|
553
|
-
{ "inputs": [], "type": "error", "name": "InvalidDelegate" },
|
|
554
|
-
{ "inputs": [], "type": "error", "name": "InvalidEndpointCall" },
|
|
555
|
-
{
|
|
556
|
-
"inputs": [{ "internalType": "uint256", "name": "length", "type": "uint256" }],
|
|
557
|
-
"type": "error",
|
|
558
|
-
"name": "InvalidPayloadLength"
|
|
559
|
-
},
|
|
560
|
-
{
|
|
561
|
-
"inputs": [
|
|
562
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
|
|
563
|
-
{ "internalType": "uint256", "name": "lzTokenFee", "type": "uint256" }
|
|
564
|
-
],
|
|
565
|
-
"type": "error",
|
|
566
|
-
"name": "LayerZeroTokenFeeUnsupported"
|
|
567
|
-
},
|
|
568
|
-
{ "inputs": [], "type": "error", "name": "LzTokenUnavailable" },
|
|
569
|
-
{
|
|
570
|
-
"inputs": [
|
|
571
|
-
{ "internalType": "uint256", "name": "provided", "type": "uint256" },
|
|
572
|
-
{ "internalType": "uint256", "name": "required", "type": "uint256" }
|
|
573
|
-
],
|
|
574
|
-
"type": "error",
|
|
575
|
-
"name": "NativeFeeMismatch"
|
|
576
|
-
},
|
|
577
|
-
{
|
|
578
|
-
"inputs": [{ "internalType": "uint32", "name": "eid", "type": "uint32" }],
|
|
579
|
-
"type": "error",
|
|
580
|
-
"name": "NoPeer"
|
|
581
|
-
},
|
|
582
|
-
{
|
|
583
|
-
"inputs": [{ "internalType": "uint256", "name": "msgValue", "type": "uint256" }],
|
|
584
|
-
"type": "error",
|
|
585
|
-
"name": "NotEnoughNative"
|
|
586
|
-
},
|
|
587
|
-
{
|
|
588
|
-
"inputs": [{ "internalType": "address", "name": "addr", "type": "address" }],
|
|
589
|
-
"type": "error",
|
|
590
|
-
"name": "OnlyEndpoint"
|
|
591
|
-
},
|
|
592
|
-
{
|
|
593
|
-
"inputs": [
|
|
594
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
|
|
595
|
-
{ "internalType": "bytes32", "name": "sender", "type": "bytes32" }
|
|
596
|
-
],
|
|
597
|
-
"type": "error",
|
|
598
|
-
"name": "OnlyPeer"
|
|
599
|
-
},
|
|
600
|
-
{
|
|
601
|
-
"inputs": [{ "internalType": "uint32", "name": "eid", "type": "uint32" }],
|
|
602
|
-
"type": "error",
|
|
603
|
-
"name": "TokenAlreadyRegistered"
|
|
604
|
-
},
|
|
605
|
-
{
|
|
606
|
-
"inputs": [{ "internalType": "uint32", "name": "eid", "type": "uint32" }],
|
|
607
|
-
"type": "error",
|
|
608
|
-
"name": "TokenNotRegistered"
|
|
609
|
-
},
|
|
610
|
-
{ "inputs": [], "type": "error", "name": "ZeroToken" },
|
|
611
|
-
{ "inputs": [], "type": "error", "name": "ZeroVerifier" },
|
|
612
|
-
{
|
|
613
|
-
"inputs": [
|
|
614
|
-
{
|
|
615
|
-
"internalType": "address",
|
|
616
|
-
"name": "previousAdmin",
|
|
617
|
-
"type": "address",
|
|
618
|
-
"indexed": false
|
|
619
|
-
},
|
|
620
|
-
{ "internalType": "address", "name": "newAdmin", "type": "address", "indexed": false }
|
|
621
|
-
],
|
|
622
|
-
"type": "event",
|
|
623
|
-
"name": "AdminChanged",
|
|
624
|
-
"anonymous": false
|
|
625
|
-
},
|
|
626
|
-
{
|
|
627
|
-
"inputs": [
|
|
628
|
-
{ "internalType": "uint256", "name": "root", "type": "uint256", "indexed": true },
|
|
629
|
-
{ "internalType": "uint64", "name": "aggSeq", "type": "uint64", "indexed": true },
|
|
630
|
-
{
|
|
631
|
-
"internalType": "uint256[]",
|
|
632
|
-
"name": "transferRootsSnapshot",
|
|
633
|
-
"type": "uint256[]",
|
|
634
|
-
"indexed": false
|
|
635
|
-
},
|
|
636
|
-
{
|
|
637
|
-
"internalType": "uint64[]",
|
|
638
|
-
"name": "transferTreeIndicesSnapshot",
|
|
639
|
-
"type": "uint64[]",
|
|
640
|
-
"indexed": false
|
|
641
|
-
}
|
|
642
|
-
],
|
|
643
|
-
"type": "event",
|
|
644
|
-
"name": "AggregationRootUpdated",
|
|
645
|
-
"anonymous": false
|
|
646
|
-
},
|
|
647
|
-
{
|
|
648
|
-
"inputs": [
|
|
649
|
-
{ "internalType": "address", "name": "beacon", "type": "address", "indexed": true }
|
|
650
|
-
],
|
|
651
|
-
"type": "event",
|
|
652
|
-
"name": "BeaconUpgraded",
|
|
653
|
-
"anonymous": false
|
|
654
|
-
},
|
|
655
|
-
{
|
|
656
|
-
"inputs": [
|
|
657
|
-
{ "internalType": "uint8", "name": "version", "type": "uint8", "indexed": false }
|
|
658
|
-
],
|
|
659
|
-
"type": "event",
|
|
660
|
-
"name": "Initialized",
|
|
661
|
-
"anonymous": false
|
|
662
|
-
},
|
|
663
|
-
{
|
|
664
|
-
"inputs": [
|
|
665
|
-
{
|
|
666
|
-
"internalType": "address",
|
|
667
|
-
"name": "previousOwner",
|
|
668
|
-
"type": "address",
|
|
669
|
-
"indexed": true
|
|
670
|
-
},
|
|
671
|
-
{ "internalType": "address", "name": "newOwner", "type": "address", "indexed": true }
|
|
672
|
-
],
|
|
673
|
-
"type": "event",
|
|
674
|
-
"name": "OwnershipTransferred",
|
|
675
|
-
"anonymous": false
|
|
676
|
-
},
|
|
677
|
-
{
|
|
678
|
-
"inputs": [
|
|
679
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32", "indexed": false },
|
|
680
|
-
{ "internalType": "bytes32", "name": "peer", "type": "bytes32", "indexed": false }
|
|
681
|
-
],
|
|
682
|
-
"type": "event",
|
|
683
|
-
"name": "PeerSet",
|
|
684
|
-
"anonymous": false
|
|
685
|
-
},
|
|
686
|
-
{
|
|
687
|
-
"inputs": [
|
|
688
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32", "indexed": true },
|
|
689
|
-
{ "internalType": "uint256", "name": "index", "type": "uint256", "indexed": true },
|
|
690
|
-
{ "internalType": "uint64", "name": "chainId", "type": "uint64", "indexed": false },
|
|
691
|
-
{ "internalType": "address", "name": "token", "type": "address", "indexed": false },
|
|
692
|
-
{ "internalType": "address", "name": "verifier", "type": "address", "indexed": false }
|
|
693
|
-
],
|
|
694
|
-
"type": "event",
|
|
695
|
-
"name": "TokenRegistered",
|
|
696
|
-
"anonymous": false
|
|
697
|
-
},
|
|
698
|
-
{
|
|
699
|
-
"inputs": [
|
|
700
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32", "indexed": true },
|
|
701
|
-
{ "internalType": "uint256", "name": "index", "type": "uint256", "indexed": true },
|
|
702
|
-
{ "internalType": "uint64", "name": "chainId", "type": "uint64", "indexed": false },
|
|
703
|
-
{ "internalType": "address", "name": "token", "type": "address", "indexed": false },
|
|
704
|
-
{ "internalType": "address", "name": "verifier", "type": "address", "indexed": false }
|
|
705
|
-
],
|
|
706
|
-
"type": "event",
|
|
707
|
-
"name": "TokenUpdated",
|
|
708
|
-
"anonymous": false
|
|
709
|
-
},
|
|
710
|
-
{
|
|
711
|
-
"inputs": [
|
|
712
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32", "indexed": true },
|
|
713
|
-
{ "internalType": "uint256", "name": "index", "type": "uint256", "indexed": true },
|
|
714
|
-
{ "internalType": "uint256", "name": "newRoot", "type": "uint256", "indexed": false }
|
|
715
|
-
],
|
|
716
|
-
"type": "event",
|
|
717
|
-
"name": "TransferRootUpdated",
|
|
718
|
-
"anonymous": false
|
|
719
|
-
},
|
|
720
|
-
{
|
|
721
|
-
"inputs": [
|
|
722
|
-
{
|
|
723
|
-
"internalType": "address",
|
|
724
|
-
"name": "implementation",
|
|
725
|
-
"type": "address",
|
|
726
|
-
"indexed": true
|
|
727
|
-
}
|
|
728
|
-
],
|
|
729
|
-
"type": "event",
|
|
730
|
-
"name": "Upgraded",
|
|
731
|
-
"anonymous": false
|
|
732
|
-
},
|
|
733
|
-
{
|
|
734
|
-
"inputs": [],
|
|
735
|
-
"stateMutability": "view",
|
|
736
|
-
"type": "function",
|
|
737
|
-
"name": "MAX_LEAVES",
|
|
738
|
-
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
739
|
-
},
|
|
740
|
-
{
|
|
741
|
-
"inputs": [],
|
|
742
|
-
"stateMutability": "view",
|
|
743
|
-
"type": "function",
|
|
744
|
-
"name": "aggSeq",
|
|
745
|
-
"outputs": [{ "internalType": "uint64", "name": "", "type": "uint64" }]
|
|
746
|
-
},
|
|
747
|
-
{
|
|
748
|
-
"inputs": [
|
|
749
|
-
{
|
|
750
|
-
"internalType": "struct Origin",
|
|
751
|
-
"name": "origin",
|
|
752
|
-
"type": "tuple",
|
|
753
|
-
"components": [
|
|
754
|
-
{ "internalType": "uint32", "name": "srcEid", "type": "uint32" },
|
|
755
|
-
{ "internalType": "bytes32", "name": "sender", "type": "bytes32" },
|
|
756
|
-
{ "internalType": "uint64", "name": "nonce", "type": "uint64" }
|
|
757
|
-
]
|
|
758
|
-
}
|
|
759
|
-
],
|
|
760
|
-
"stateMutability": "view",
|
|
761
|
-
"type": "function",
|
|
762
|
-
"name": "allowInitializePath",
|
|
763
|
-
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
|
|
764
|
-
},
|
|
765
|
-
{
|
|
766
|
-
"inputs": [
|
|
767
|
-
{ "internalType": "uint32[]", "name": "targetEids", "type": "uint32[]" },
|
|
768
|
-
{ "internalType": "bytes", "name": "lzOptions", "type": "bytes" }
|
|
769
|
-
],
|
|
770
|
-
"stateMutability": "payable",
|
|
771
|
-
"type": "function",
|
|
772
|
-
"name": "broadcast"
|
|
773
|
-
},
|
|
774
|
-
{
|
|
775
|
-
"inputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }],
|
|
776
|
-
"stateMutability": "view",
|
|
777
|
-
"type": "function",
|
|
778
|
-
"name": "eidToPosition",
|
|
779
|
-
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
780
|
-
},
|
|
781
|
-
{
|
|
782
|
-
"inputs": [],
|
|
783
|
-
"stateMutability": "view",
|
|
784
|
-
"type": "function",
|
|
785
|
-
"name": "endpoint",
|
|
786
|
-
"outputs": [
|
|
787
|
-
{ "internalType": "contract ILayerZeroEndpointV2", "name": "", "type": "address" }
|
|
788
|
-
]
|
|
789
|
-
},
|
|
790
|
-
{
|
|
791
|
-
"inputs": [],
|
|
792
|
-
"stateMutability": "view",
|
|
793
|
-
"type": "function",
|
|
794
|
-
"name": "getTokenInfos",
|
|
795
|
-
"outputs": [
|
|
796
|
-
{
|
|
797
|
-
"internalType": "struct Hub.TokenInfo[]",
|
|
798
|
-
"name": "infos",
|
|
799
|
-
"type": "tuple[]",
|
|
800
|
-
"components": [
|
|
801
|
-
{ "internalType": "uint64", "name": "chainId", "type": "uint64" },
|
|
802
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
|
|
803
|
-
{ "internalType": "address", "name": "verifier", "type": "address" },
|
|
804
|
-
{ "internalType": "address", "name": "token", "type": "address" }
|
|
805
|
-
]
|
|
806
|
-
}
|
|
807
|
-
]
|
|
808
|
-
},
|
|
809
|
-
{
|
|
810
|
-
"inputs": [
|
|
811
|
-
{ "internalType": "address", "name": "endpoint", "type": "address" },
|
|
812
|
-
{ "internalType": "address", "name": "delegate", "type": "address" }
|
|
813
|
-
],
|
|
814
|
-
"stateMutability": "nonpayable",
|
|
815
|
-
"type": "function",
|
|
816
|
-
"name": "initialize"
|
|
817
|
-
},
|
|
818
|
-
{
|
|
819
|
-
"inputs": [
|
|
820
|
-
{
|
|
821
|
-
"internalType": "struct Origin",
|
|
822
|
-
"name": "",
|
|
823
|
-
"type": "tuple",
|
|
824
|
-
"components": [
|
|
825
|
-
{ "internalType": "uint32", "name": "srcEid", "type": "uint32" },
|
|
826
|
-
{ "internalType": "bytes32", "name": "sender", "type": "bytes32" },
|
|
827
|
-
{ "internalType": "uint64", "name": "nonce", "type": "uint64" }
|
|
828
|
-
]
|
|
829
|
-
},
|
|
830
|
-
{ "internalType": "bytes", "name": "", "type": "bytes" },
|
|
831
|
-
{ "internalType": "address", "name": "_sender", "type": "address" }
|
|
832
|
-
],
|
|
833
|
-
"stateMutability": "view",
|
|
834
|
-
"type": "function",
|
|
835
|
-
"name": "isComposeMsgSender",
|
|
836
|
-
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
|
|
837
|
-
},
|
|
838
|
-
{
|
|
839
|
-
"inputs": [],
|
|
840
|
-
"stateMutability": "view",
|
|
841
|
-
"type": "function",
|
|
842
|
-
"name": "isUpToDate",
|
|
843
|
-
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }]
|
|
844
|
-
},
|
|
845
|
-
{
|
|
846
|
-
"inputs": [
|
|
847
|
-
{
|
|
848
|
-
"internalType": "struct Origin",
|
|
849
|
-
"name": "origin",
|
|
850
|
-
"type": "tuple",
|
|
851
|
-
"components": [
|
|
852
|
-
{ "internalType": "uint32", "name": "srcEid", "type": "uint32" },
|
|
853
|
-
{ "internalType": "bytes32", "name": "sender", "type": "bytes32" },
|
|
854
|
-
{ "internalType": "uint64", "name": "nonce", "type": "uint64" }
|
|
855
|
-
]
|
|
856
|
-
},
|
|
857
|
-
{ "internalType": "bytes32", "name": "guid", "type": "bytes32" },
|
|
858
|
-
{ "internalType": "bytes", "name": "payload", "type": "bytes" },
|
|
859
|
-
{ "internalType": "address", "name": "executor", "type": "address" },
|
|
860
|
-
{ "internalType": "bytes", "name": "extraData", "type": "bytes" }
|
|
861
|
-
],
|
|
862
|
-
"stateMutability": "payable",
|
|
863
|
-
"type": "function",
|
|
864
|
-
"name": "lzReceive"
|
|
865
|
-
},
|
|
866
|
-
{
|
|
867
|
-
"inputs": [
|
|
868
|
-
{ "internalType": "uint32", "name": "", "type": "uint32" },
|
|
869
|
-
{ "internalType": "bytes32", "name": "", "type": "bytes32" }
|
|
870
|
-
],
|
|
871
|
-
"stateMutability": "view",
|
|
872
|
-
"type": "function",
|
|
873
|
-
"name": "nextNonce",
|
|
874
|
-
"outputs": [{ "internalType": "uint64", "name": "nonce", "type": "uint64" }]
|
|
875
|
-
},
|
|
876
|
-
{
|
|
877
|
-
"inputs": [],
|
|
878
|
-
"stateMutability": "view",
|
|
879
|
-
"type": "function",
|
|
880
|
-
"name": "oAppVersion",
|
|
881
|
-
"outputs": [
|
|
882
|
-
{ "internalType": "uint64", "name": "senderVersion", "type": "uint64" },
|
|
883
|
-
{ "internalType": "uint64", "name": "receiverVersion", "type": "uint64" }
|
|
884
|
-
]
|
|
885
|
-
},
|
|
886
|
-
{
|
|
887
|
-
"inputs": [],
|
|
888
|
-
"stateMutability": "view",
|
|
889
|
-
"type": "function",
|
|
890
|
-
"name": "owner",
|
|
891
|
-
"outputs": [{ "internalType": "address", "name": "", "type": "address" }]
|
|
892
|
-
},
|
|
893
|
-
{
|
|
894
|
-
"inputs": [{ "internalType": "uint32", "name": "eid", "type": "uint32" }],
|
|
895
|
-
"stateMutability": "view",
|
|
896
|
-
"type": "function",
|
|
897
|
-
"name": "peers",
|
|
898
|
-
"outputs": [{ "internalType": "bytes32", "name": "peer", "type": "bytes32" }]
|
|
899
|
-
},
|
|
900
|
-
{
|
|
901
|
-
"inputs": [],
|
|
902
|
-
"stateMutability": "view",
|
|
903
|
-
"type": "function",
|
|
904
|
-
"name": "proxiableUUID",
|
|
905
|
-
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }]
|
|
906
|
-
},
|
|
907
|
-
{
|
|
908
|
-
"inputs": [
|
|
909
|
-
{ "internalType": "uint32[]", "name": "targetEids", "type": "uint32[]" },
|
|
910
|
-
{ "internalType": "bytes", "name": "lzOptions", "type": "bytes" }
|
|
911
|
-
],
|
|
912
|
-
"stateMutability": "view",
|
|
913
|
-
"type": "function",
|
|
914
|
-
"name": "quoteBroadcast",
|
|
915
|
-
"outputs": [{ "internalType": "uint256", "name": "totalNativeFee", "type": "uint256" }]
|
|
916
|
-
},
|
|
917
|
-
{
|
|
918
|
-
"inputs": [
|
|
919
|
-
{
|
|
920
|
-
"internalType": "struct Hub.TokenInfo",
|
|
921
|
-
"name": "info",
|
|
922
|
-
"type": "tuple",
|
|
923
|
-
"components": [
|
|
924
|
-
{ "internalType": "uint64", "name": "chainId", "type": "uint64" },
|
|
925
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
|
|
926
|
-
{ "internalType": "address", "name": "verifier", "type": "address" },
|
|
927
|
-
{ "internalType": "address", "name": "token", "type": "address" }
|
|
928
|
-
]
|
|
929
|
-
}
|
|
930
|
-
],
|
|
931
|
-
"stateMutability": "nonpayable",
|
|
932
|
-
"type": "function",
|
|
933
|
-
"name": "registerToken"
|
|
934
|
-
},
|
|
935
|
-
{
|
|
936
|
-
"inputs": [],
|
|
937
|
-
"stateMutability": "nonpayable",
|
|
938
|
-
"type": "function",
|
|
939
|
-
"name": "renounceOwnership"
|
|
940
|
-
},
|
|
941
|
-
{
|
|
942
|
-
"inputs": [{ "internalType": "address", "name": "_delegate", "type": "address" }],
|
|
943
|
-
"stateMutability": "nonpayable",
|
|
944
|
-
"type": "function",
|
|
945
|
-
"name": "setDelegate"
|
|
946
|
-
},
|
|
947
|
-
{
|
|
948
|
-
"inputs": [
|
|
949
|
-
{ "internalType": "uint32", "name": "_eid", "type": "uint32" },
|
|
950
|
-
{ "internalType": "bytes32", "name": "_peer", "type": "bytes32" }
|
|
951
|
-
],
|
|
952
|
-
"stateMutability": "nonpayable",
|
|
953
|
-
"type": "function",
|
|
954
|
-
"name": "setPeer"
|
|
955
|
-
},
|
|
956
|
-
{
|
|
957
|
-
"inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
958
|
-
"stateMutability": "view",
|
|
959
|
-
"type": "function",
|
|
960
|
-
"name": "tokenInfos",
|
|
961
|
-
"outputs": [
|
|
962
|
-
{ "internalType": "uint64", "name": "chainId", "type": "uint64" },
|
|
963
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
|
|
964
|
-
{ "internalType": "address", "name": "verifier", "type": "address" },
|
|
965
|
-
{ "internalType": "address", "name": "token", "type": "address" }
|
|
966
|
-
]
|
|
967
|
-
},
|
|
968
|
-
{
|
|
969
|
-
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
|
|
970
|
-
"stateMutability": "nonpayable",
|
|
971
|
-
"type": "function",
|
|
972
|
-
"name": "transferOwnership"
|
|
973
|
-
},
|
|
974
|
-
{
|
|
975
|
-
"inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
976
|
-
"stateMutability": "view",
|
|
977
|
-
"type": "function",
|
|
978
|
-
"name": "transferRoots",
|
|
979
|
-
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
980
|
-
},
|
|
981
|
-
{
|
|
982
|
-
"inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
983
|
-
"stateMutability": "view",
|
|
984
|
-
"type": "function",
|
|
985
|
-
"name": "transferTreeIndices",
|
|
986
|
-
"outputs": [{ "internalType": "uint64", "name": "", "type": "uint64" }]
|
|
987
|
-
},
|
|
988
|
-
{
|
|
989
|
-
"inputs": [
|
|
990
|
-
{
|
|
991
|
-
"internalType": "struct Hub.TokenInfo",
|
|
992
|
-
"name": "info",
|
|
993
|
-
"type": "tuple",
|
|
994
|
-
"components": [
|
|
995
|
-
{ "internalType": "uint64", "name": "chainId", "type": "uint64" },
|
|
996
|
-
{ "internalType": "uint32", "name": "eid", "type": "uint32" },
|
|
997
|
-
{ "internalType": "address", "name": "verifier", "type": "address" },
|
|
998
|
-
{ "internalType": "address", "name": "token", "type": "address" }
|
|
999
|
-
]
|
|
1000
|
-
}
|
|
1001
|
-
],
|
|
1002
|
-
"stateMutability": "nonpayable",
|
|
1003
|
-
"type": "function",
|
|
1004
|
-
"name": "updateToken"
|
|
1005
|
-
},
|
|
1006
|
-
{
|
|
1007
|
-
"inputs": [{ "internalType": "address", "name": "newImplementation", "type": "address" }],
|
|
1008
|
-
"stateMutability": "nonpayable",
|
|
1009
|
-
"type": "function",
|
|
1010
|
-
"name": "upgradeTo"
|
|
1011
|
-
},
|
|
1012
|
-
{
|
|
1013
|
-
"inputs": [
|
|
1014
|
-
{ "internalType": "address", "name": "newImplementation", "type": "address" },
|
|
1015
|
-
{ "internalType": "bytes", "name": "data", "type": "bytes" }
|
|
1016
|
-
],
|
|
1017
|
-
"stateMutability": "payable",
|
|
1018
|
-
"type": "function",
|
|
1019
|
-
"name": "upgradeToAndCall"
|
|
1020
|
-
},
|
|
1021
|
-
{
|
|
1022
|
-
"inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
|
|
1023
|
-
"stateMutability": "view",
|
|
1024
|
-
"type": "function",
|
|
1025
|
-
"name": "zeroHash",
|
|
1026
|
-
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }]
|
|
1027
|
-
}
|
|
1028
|
-
],
|
|
1029
|
-
"devdoc": {
|
|
1030
|
-
"kind": "dev",
|
|
1031
|
-
"methods": {
|
|
1032
|
-
"owner()": { "details": "Returns the address of the current owner." },
|
|
1033
|
-
"proxiableUUID()": {
|
|
1034
|
-
"details": "Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."
|
|
1035
|
-
},
|
|
1036
|
-
"renounceOwnership()": {
|
|
1037
|
-
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
|
|
1038
|
-
},
|
|
1039
|
-
"setDelegate(address)": {
|
|
1040
|
-
"params": { "_delegate": "The address of the delegate to be set." }
|
|
1041
|
-
},
|
|
1042
|
-
"setPeer(uint32,bytes32)": {
|
|
1043
|
-
"params": {
|
|
1044
|
-
"_eid": "The endpoint ID.",
|
|
1045
|
-
"_peer": "The address of the peer to be associated with the corresponding endpoint."
|
|
1046
|
-
}
|
|
1047
|
-
},
|
|
1048
|
-
"transferOwnership(address)": {
|
|
1049
|
-
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
|
|
1050
|
-
},
|
|
1051
|
-
"upgradeTo(address)": {
|
|
1052
|
-
"custom:oz-upgrades-unsafe-allow-reachable": "delegatecall",
|
|
1053
|
-
"details": "Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."
|
|
1054
|
-
},
|
|
1055
|
-
"upgradeToAndCall(address,bytes)": {
|
|
1056
|
-
"custom:oz-upgrades-unsafe-allow-reachable": "delegatecall",
|
|
1057
|
-
"details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."
|
|
1058
|
-
}
|
|
1059
|
-
},
|
|
1060
|
-
"version": 1
|
|
1061
|
-
},
|
|
1062
|
-
"userdoc": {
|
|
1063
|
-
"kind": "user",
|
|
1064
|
-
"methods": {
|
|
1065
|
-
"MAX_LEAVES()": {
|
|
1066
|
-
"notice": "----------------------------------------------------------------------- Constants & Storage -----------------------------------------------------------------------"
|
|
1067
|
-
},
|
|
1068
|
-
"constructor": {
|
|
1069
|
-
"notice": "----------------------------------------------------------------------- Constructor -----------------------------------------------------------------------"
|
|
1070
|
-
},
|
|
1071
|
-
"endpoint()": { "notice": "Retrieves the LayerZero endpoint associated with the OApp." },
|
|
1072
|
-
"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)": {
|
|
1073
|
-
"notice": "----------------------------------------------------------------------- LayerZero Receiver -----------------------------------------------------------------------"
|
|
1074
|
-
},
|
|
1075
|
-
"peers(uint32)": {
|
|
1076
|
-
"notice": "Retrieves the peer (OApp) associated with a corresponding endpoint."
|
|
1077
|
-
},
|
|
1078
|
-
"registerToken((uint64,uint32,address,address))": {
|
|
1079
|
-
"notice": "----------------------------------------------------------------------- Mutations -----------------------------------------------------------------------"
|
|
1080
|
-
},
|
|
1081
|
-
"setDelegate(address)": { "notice": "Sets the delegate address for the OApp Core." },
|
|
1082
|
-
"setPeer(uint32,bytes32)": {
|
|
1083
|
-
"notice": "Sets the peer address (OApp instance) for a corresponding endpoint."
|
|
1084
|
-
}
|
|
1085
|
-
},
|
|
1086
|
-
"version": 1
|
|
1087
|
-
}
|
|
1088
|
-
},
|
|
1089
|
-
"settings": {
|
|
1090
|
-
"remappings": [
|
|
1091
|
-
"@layerzerolabs/lz-evm-messagelib-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/messagelib/",
|
|
1092
|
-
"@layerzerolabs/lz-evm-oapp-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/",
|
|
1093
|
-
"@layerzerolabs/lz-evm-protocol-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/",
|
|
1094
|
-
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
|
|
1095
|
-
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
|
1096
|
-
"LayerZero-v2/=lib/LayerZero-v2/",
|
|
1097
|
-
"forge-std/=lib/forge-std/src/",
|
|
1098
|
-
"openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
|
|
1099
|
-
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
|
1100
|
-
"openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/",
|
|
1101
|
-
"poseidon-solidity/=lib/poseidon-solidity/",
|
|
1102
|
-
"solidity-bytes-utils/=lib/solidity-bytes-utils/"
|
|
1103
|
-
],
|
|
1104
|
-
"optimizer": { "enabled": true, "runs": 200 },
|
|
1105
|
-
"metadata": { "bytecodeHash": "ipfs" },
|
|
1106
|
-
"compilationTarget": { "src/Hub.sol": "Hub" },
|
|
1107
|
-
"evmVersion": "prague",
|
|
1108
|
-
"libraries": {}
|
|
1109
|
-
},
|
|
1110
|
-
"sources": {
|
|
1111
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OApp.sol": {
|
|
1112
|
-
"keccak256": "0xac362c4c291fad2f1511a968424b2e78a5ad502d1c867bd31da04be742aca8c5",
|
|
1113
|
-
"urls": [
|
|
1114
|
-
"bzz-raw://e1f8cf9f20a2b683a53c3883972aa0676af97a24c678f461fae08e1fb056df28",
|
|
1115
|
-
"dweb:/ipfs/QmPpKNqda3rgxDwnq3XiRTtT3NfWeqrCJT6LwmhYd2AoT2"
|
|
1116
|
-
],
|
|
1117
|
-
"license": "MIT"
|
|
1118
|
-
},
|
|
1119
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OAppCore.sol": {
|
|
1120
|
-
"keccak256": "0x13a9c2d1d2c1f086b8624f2e84c4a4702212daae36f701d92bb915b535cbe4cc",
|
|
1121
|
-
"urls": [
|
|
1122
|
-
"bzz-raw://606515dd9193551bd2c94ac8c304f3776fafcc70e544ebf441f334658b2fd5f0",
|
|
1123
|
-
"dweb:/ipfs/QmZ88ey7DdZqV5taAoebabvszX5kdPMSrQCAmTteVdDtcH"
|
|
1124
|
-
],
|
|
1125
|
-
"license": "MIT"
|
|
1126
|
-
},
|
|
1127
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OAppReceiver.sol": {
|
|
1128
|
-
"keccak256": "0x0174e9f1ec4cefe4b5adc26c392269c699b9ff75965364e5b7264426a462c70b",
|
|
1129
|
-
"urls": [
|
|
1130
|
-
"bzz-raw://cd12bb4fe5802c53911b9a0081a2ea10639b1f99925d1e5c1b1421d1bdc17075",
|
|
1131
|
-
"dweb:/ipfs/QmZonarwbKiEwQ8qoASKur2bbMjusdy9pqK9RCR4P1YPtc"
|
|
1132
|
-
],
|
|
1133
|
-
"license": "MIT"
|
|
1134
|
-
},
|
|
1135
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/OAppSender.sol": {
|
|
1136
|
-
"keccak256": "0x518cf4adca601923ed4baa6619846a253ea32b8d8775f8bc1faa3dfac7f67c20",
|
|
1137
|
-
"urls": [
|
|
1138
|
-
"bzz-raw://d42b471418efadcc3577ef3fa9f8f504e8bed7db90c3b0c862038d8b29529eb2",
|
|
1139
|
-
"dweb:/ipfs/QmZETDQiJN4U92fmLKo8T9ZbdDf7BNBUUvo9H7M7GqAyFU"
|
|
1140
|
-
],
|
|
1141
|
-
"license": "MIT"
|
|
1142
|
-
},
|
|
1143
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/interfaces/IOAppCore.sol": {
|
|
1144
|
-
"keccak256": "0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58",
|
|
1145
|
-
"urls": [
|
|
1146
|
-
"bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd",
|
|
1147
|
-
"dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv"
|
|
1148
|
-
],
|
|
1149
|
-
"license": "MIT"
|
|
1150
|
-
},
|
|
1151
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/oapp/contracts/oapp/interfaces/IOAppReceiver.sol": {
|
|
1152
|
-
"keccak256": "0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d",
|
|
1153
|
-
"urls": [
|
|
1154
|
-
"bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2",
|
|
1155
|
-
"dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q"
|
|
1156
|
-
],
|
|
1157
|
-
"license": "MIT"
|
|
1158
|
-
},
|
|
1159
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroEndpointV2.sol": {
|
|
1160
|
-
"keccak256": "0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3",
|
|
1161
|
-
"urls": [
|
|
1162
|
-
"bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083",
|
|
1163
|
-
"dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs"
|
|
1164
|
-
],
|
|
1165
|
-
"license": "MIT"
|
|
1166
|
-
},
|
|
1167
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroReceiver.sol": {
|
|
1168
|
-
"keccak256": "0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0",
|
|
1169
|
-
"urls": [
|
|
1170
|
-
"bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933",
|
|
1171
|
-
"dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL"
|
|
1172
|
-
],
|
|
1173
|
-
"license": "MIT"
|
|
1174
|
-
},
|
|
1175
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessageLibManager.sol": {
|
|
1176
|
-
"keccak256": "0xd710f9efe703982e8eabe15d19d6114af753ef42f2796551da782a0fb6633e4b",
|
|
1177
|
-
"urls": [
|
|
1178
|
-
"bzz-raw://b5c9c874871469c871004d49a1cb5304e63ea3faaf366bfed9d718abbb9cc20a",
|
|
1179
|
-
"dweb:/ipfs/QmarXxE4dezAa5gBe82KCrcvWcMwa3BYqkfXbDQ3rRjfEB"
|
|
1180
|
-
],
|
|
1181
|
-
"license": "MIT"
|
|
1182
|
-
},
|
|
1183
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingChannel.sol": {
|
|
1184
|
-
"keccak256": "0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972",
|
|
1185
|
-
"urls": [
|
|
1186
|
-
"bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927",
|
|
1187
|
-
"dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S"
|
|
1188
|
-
],
|
|
1189
|
-
"license": "MIT"
|
|
1190
|
-
},
|
|
1191
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingComposer.sol": {
|
|
1192
|
-
"keccak256": "0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901",
|
|
1193
|
-
"urls": [
|
|
1194
|
-
"bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d",
|
|
1195
|
-
"dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk"
|
|
1196
|
-
],
|
|
1197
|
-
"license": "MIT"
|
|
1198
|
-
},
|
|
1199
|
-
"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingContext.sol": {
|
|
1200
|
-
"keccak256": "0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e",
|
|
1201
|
-
"urls": [
|
|
1202
|
-
"bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6",
|
|
1203
|
-
"dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D"
|
|
1204
|
-
],
|
|
1205
|
-
"license": "MIT"
|
|
1206
|
-
},
|
|
1207
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": {
|
|
1208
|
-
"keccak256": "0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e",
|
|
1209
|
-
"urls": [
|
|
1210
|
-
"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c",
|
|
1211
|
-
"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"
|
|
1212
|
-
],
|
|
1213
|
-
"license": "MIT"
|
|
1214
|
-
},
|
|
1215
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol": {
|
|
1216
|
-
"keccak256": "0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b",
|
|
1217
|
-
"urls": [
|
|
1218
|
-
"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0",
|
|
1219
|
-
"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"
|
|
1220
|
-
],
|
|
1221
|
-
"license": "MIT"
|
|
1222
|
-
},
|
|
1223
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol": {
|
|
1224
|
-
"keccak256": "0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f",
|
|
1225
|
-
"urls": [
|
|
1226
|
-
"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053",
|
|
1227
|
-
"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"
|
|
1228
|
-
],
|
|
1229
|
-
"license": "MIT"
|
|
1230
|
-
},
|
|
1231
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol": {
|
|
1232
|
-
"keccak256": "0x7795808e3899c805254e3ae58074b20f799b466e3f43e057e47bedee5fb771f8",
|
|
1233
|
-
"urls": [
|
|
1234
|
-
"bzz-raw://319853a2a682f3f72411507242669ef5e76e0ad3457be53102439709ee8948f0",
|
|
1235
|
-
"dweb:/ipfs/QmRtm4Ese9u4jfxXyuWPXLwzenwFotuQjAWV7rXtZTB1E9"
|
|
1236
|
-
],
|
|
1237
|
-
"license": "MIT"
|
|
1238
|
-
},
|
|
1239
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol": {
|
|
1240
|
-
"keccak256": "0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908",
|
|
1241
|
-
"urls": [
|
|
1242
|
-
"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1",
|
|
1243
|
-
"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"
|
|
1244
|
-
],
|
|
1245
|
-
"license": "MIT"
|
|
1246
|
-
},
|
|
1247
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": {
|
|
1248
|
-
"keccak256": "0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794",
|
|
1249
|
-
"urls": [
|
|
1250
|
-
"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e",
|
|
1251
|
-
"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"
|
|
1252
|
-
],
|
|
1253
|
-
"license": "MIT"
|
|
1254
|
-
},
|
|
1255
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol": {
|
|
1256
|
-
"keccak256": "0xefb41f5c1a00249b7a99f0782f8c557865605426a3fb6e5fe9ae334293ae4f33",
|
|
1257
|
-
"urls": [
|
|
1258
|
-
"bzz-raw://90def55e5782595aabc13f57780c02d3613e5226f20ce6c1709503a63fdeb58f",
|
|
1259
|
-
"dweb:/ipfs/Qmb5vcymmNEZUJMaHmYxnhvGJDEsGMae4YjcHwkA74jy99"
|
|
1260
|
-
],
|
|
1261
|
-
"license": "MIT"
|
|
1262
|
-
},
|
|
1263
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/IERC20Upgradeable.sol": {
|
|
1264
|
-
"keccak256": "0x0e1f0f5f62f67a881cd1a9597acbc0a5e4071f3c2c10449a183b922ae7272e3f",
|
|
1265
|
-
"urls": [
|
|
1266
|
-
"bzz-raw://c25f742ff154998d19a669e2508c3597b363e123ce9144cd0fcf6521229f401f",
|
|
1267
|
-
"dweb:/ipfs/QmQXRuFzStEWqeEPbhQU6cAg9PaSowxJVo4PDKyRod7dco"
|
|
1268
|
-
],
|
|
1269
|
-
"license": "MIT"
|
|
1270
|
-
},
|
|
1271
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/extensions/IERC20PermitUpgradeable.sol": {
|
|
1272
|
-
"keccak256": "0x07e881de3b9f6d2c07909f193f24b96c7fe4ea60013260f3f25aecd8bab3c2f8",
|
|
1273
|
-
"urls": [
|
|
1274
|
-
"bzz-raw://1fed09b97ccb0ff9ba9b6a94224f1d489026bf6b4b7279bfe64fb6e8749dee4d",
|
|
1275
|
-
"dweb:/ipfs/QmcRAzaSP1UnGr4vrGkfJmB2L9aiTYoXfV1Lg9gqrVRWn8"
|
|
1276
|
-
],
|
|
1277
|
-
"license": "MIT"
|
|
1278
|
-
},
|
|
1279
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/utils/SafeERC20Upgradeable.sol": {
|
|
1280
|
-
"keccak256": "0x23b997be73d3dd46885262704f0f8cfc7273fdadfe303d37969a9561373972b5",
|
|
1281
|
-
"urls": [
|
|
1282
|
-
"bzz-raw://d03ebe5406134f0c4a017dee625ff615031194493bd1e88504e5c8fae55bc166",
|
|
1283
|
-
"dweb:/ipfs/QmUZV5bMbgk2PAkV3coouSeSainHN2jhqaQDJaA7hQRyu2"
|
|
1284
|
-
],
|
|
1285
|
-
"license": "MIT"
|
|
1286
|
-
},
|
|
1287
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol": {
|
|
1288
|
-
"keccak256": "0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422",
|
|
1289
|
-
"urls": [
|
|
1290
|
-
"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b",
|
|
1291
|
-
"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"
|
|
1292
|
-
],
|
|
1293
|
-
"license": "MIT"
|
|
1294
|
-
},
|
|
1295
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": {
|
|
1296
|
-
"keccak256": "0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef",
|
|
1297
|
-
"urls": [
|
|
1298
|
-
"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95",
|
|
1299
|
-
"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"
|
|
1300
|
-
],
|
|
1301
|
-
"license": "MIT"
|
|
1302
|
-
},
|
|
1303
|
-
"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol": {
|
|
1304
|
-
"keccak256": "0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908",
|
|
1305
|
-
"urls": [
|
|
1306
|
-
"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685",
|
|
1307
|
-
"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"
|
|
1308
|
-
],
|
|
1309
|
-
"license": "MIT"
|
|
1310
|
-
},
|
|
1311
|
-
"lib/openzeppelin-contracts/contracts/access/Ownable.sol": {
|
|
1312
|
-
"keccak256": "0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb",
|
|
1313
|
-
"urls": [
|
|
1314
|
-
"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6",
|
|
1315
|
-
"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"
|
|
1316
|
-
],
|
|
1317
|
-
"license": "MIT"
|
|
1318
|
-
},
|
|
1319
|
-
"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol": {
|
|
1320
|
-
"keccak256": "0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d",
|
|
1321
|
-
"urls": [
|
|
1322
|
-
"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100",
|
|
1323
|
-
"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d"
|
|
1324
|
-
],
|
|
1325
|
-
"license": "MIT"
|
|
1326
|
-
},
|
|
1327
|
-
"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": {
|
|
1328
|
-
"keccak256": "0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc",
|
|
1329
|
-
"urls": [
|
|
1330
|
-
"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037",
|
|
1331
|
-
"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ"
|
|
1332
|
-
],
|
|
1333
|
-
"license": "MIT"
|
|
1334
|
-
},
|
|
1335
|
-
"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol": {
|
|
1336
|
-
"keccak256": "0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44",
|
|
1337
|
-
"urls": [
|
|
1338
|
-
"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d",
|
|
1339
|
-
"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF"
|
|
1340
|
-
],
|
|
1341
|
-
"license": "MIT"
|
|
1342
|
-
},
|
|
1343
|
-
"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": {
|
|
1344
|
-
"keccak256": "0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2",
|
|
1345
|
-
"urls": [
|
|
1346
|
-
"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303",
|
|
1347
|
-
"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"
|
|
1348
|
-
],
|
|
1349
|
-
"license": "MIT"
|
|
1350
|
-
},
|
|
1351
|
-
"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": {
|
|
1352
|
-
"keccak256": "0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5",
|
|
1353
|
-
"urls": [
|
|
1354
|
-
"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508",
|
|
1355
|
-
"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"
|
|
1356
|
-
],
|
|
1357
|
-
"license": "MIT"
|
|
1358
|
-
},
|
|
1359
|
-
"lib/openzeppelin-contracts/contracts/utils/Context.sol": {
|
|
1360
|
-
"keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
|
|
1361
|
-
"urls": [
|
|
1362
|
-
"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
|
|
1363
|
-
"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"
|
|
1364
|
-
],
|
|
1365
|
-
"license": "MIT"
|
|
1366
|
-
},
|
|
1367
|
-
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": {
|
|
1368
|
-
"keccak256": "0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c",
|
|
1369
|
-
"urls": [
|
|
1370
|
-
"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617",
|
|
1371
|
-
"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"
|
|
1372
|
-
],
|
|
1373
|
-
"license": "MIT"
|
|
1374
|
-
},
|
|
1375
|
-
"lib/poseidon-solidity/contracts/PoseidonT3.sol": {
|
|
1376
|
-
"keccak256": "0x0102caa303bbc6690508f3615604f7730789ed990058c9513a87ccb30e4835be",
|
|
1377
|
-
"urls": [
|
|
1378
|
-
"bzz-raw://1fe7291d5f998eaf7dfe37961b8a8e72f60cf79a7a34459efa5683ca3a702971",
|
|
1379
|
-
"dweb:/ipfs/QmQExqgvNEPKLq15rNygqmthUnAPWgTm4m3Bb5BCExwHF1"
|
|
1380
|
-
],
|
|
1381
|
-
"license": "MIT"
|
|
1382
|
-
},
|
|
1383
|
-
"src/Hub.sol": {
|
|
1384
|
-
"keccak256": "0xe2596f40a1666ef24206f935f775abab4e8ff898a9d77f02b22bfa8c3acbebc2",
|
|
1385
|
-
"urls": [
|
|
1386
|
-
"bzz-raw://ae6938113776e26cc8c9d68113184e2b394c94dcd749dba324905577542ca7f3",
|
|
1387
|
-
"dweb:/ipfs/QmYKQMHvkQyWi2UmiuSqXxpPuynXXNf5vTiAkSbpKxJz3x"
|
|
1388
|
-
],
|
|
1389
|
-
"license": "Unlicense"
|
|
1390
|
-
},
|
|
1391
|
-
"src/utils/PoseidonAggregationConfig.sol": {
|
|
1392
|
-
"keccak256": "0x11f40fc0915a1b22acf738afe993e9ae7df22c84aaf87c4bbb9b4fc2b9da71f7",
|
|
1393
|
-
"urls": [
|
|
1394
|
-
"bzz-raw://059a3319a7acaea26bd5c7dffe15d557a221ffa88efe7ea16d4bd7b84ae69a3d",
|
|
1395
|
-
"dweb:/ipfs/QmSTcDLmMTj326BxG7i4p2T5FU3WbwLWgQPECLU8GhbWGi"
|
|
1396
|
-
],
|
|
1397
|
-
"license": "Unlicense"
|
|
1398
|
-
},
|
|
1399
|
-
"src/utils/PoseidonAggregationLib.sol": {
|
|
1400
|
-
"keccak256": "0x2d0e05e0cf86d6af47cb150e680d91822c4ce31bc2106fe51d6aba03c948d0b3",
|
|
1401
|
-
"urls": [
|
|
1402
|
-
"bzz-raw://b27433a4801beb1035837d5494bff7c3edb7984b2a3c131452d65d73124fefd7",
|
|
1403
|
-
"dweb:/ipfs/QmaT78rmNpXnpZqs8G5D36Fwd2m2SEaDPRET7iQbP8m7pt"
|
|
1404
|
-
],
|
|
1405
|
-
"license": "Unlicense"
|
|
1406
|
-
},
|
|
1407
|
-
"src/utils/layerzero/OAppCoreUpgradeable.sol": {
|
|
1408
|
-
"keccak256": "0x6354989465912310b627a01d320faa42ed38434a1d1c96c4c2e0a50b70ebe690",
|
|
1409
|
-
"urls": [
|
|
1410
|
-
"bzz-raw://9b1ba95d17f53b32b4872343cff9306661ca4a84aeb977f4fec9ae260833c0a6",
|
|
1411
|
-
"dweb:/ipfs/QmPqLYitbVdiwTshcNgetydJ14W35wJinTzYHQaKHMoqB4"
|
|
1412
|
-
],
|
|
1413
|
-
"license": "MIT"
|
|
1414
|
-
},
|
|
1415
|
-
"src/utils/layerzero/OAppReceiverUpgradeable.sol": {
|
|
1416
|
-
"keccak256": "0x87af380d4a127a8b31f05cb8204fcbc25c0f4c6d72bbbac0153a4f03249a1185",
|
|
1417
|
-
"urls": [
|
|
1418
|
-
"bzz-raw://7daa3bec4f9742aa0f32c79fdb40bdecd09ffcccfe930df7894f15297e29a8cc",
|
|
1419
|
-
"dweb:/ipfs/Qmb8GtA4MiM7HGYyH2ST8nSHSNVhdd4abCMUmeU3yc6uVx"
|
|
1420
|
-
],
|
|
1421
|
-
"license": "MIT"
|
|
1422
|
-
},
|
|
1423
|
-
"src/utils/layerzero/OAppSenderUpgradeable.sol": {
|
|
1424
|
-
"keccak256": "0xf67e340df21386d8b8a7b703fa3961be7172da71eb879956d53ace1fe9c026e4",
|
|
1425
|
-
"urls": [
|
|
1426
|
-
"bzz-raw://91bb95dcaf3f0878d40c10147440fd6ba9ce413a28a7dcb04fae8768ce3cc6cf",
|
|
1427
|
-
"dweb:/ipfs/QmSKPamDA8xYVX6u2otJdqvEFdb6tYo1Tsdvxpxy2Mox3V"
|
|
1428
|
-
],
|
|
1429
|
-
"license": "MIT"
|
|
1430
|
-
},
|
|
1431
|
-
"src/utils/layerzero/OAppUpgradeable.sol": {
|
|
1432
|
-
"keccak256": "0xbae19d461232c03fbf0354286d42c6727b5ef0ad33e2b04312eda54df79f9f85",
|
|
1433
|
-
"urls": [
|
|
1434
|
-
"bzz-raw://02115f24d381df7da58878b1b0ecec52eec623a7e0891017307a79a81eeee31e",
|
|
1435
|
-
"dweb:/ipfs/QmbYCZBX4eoAyTvf8Am7iT4XqKCr1URscRTkHPfgyoDAJJ"
|
|
1436
|
-
],
|
|
1437
|
-
"license": "MIT"
|
|
1438
|
-
}
|
|
1439
|
-
},
|
|
1440
|
-
"version": 1
|
|
1441
|
-
},
|
|
1442
|
-
"id": 79
|
|
1443
|
-
}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[{"name":"endpoint","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"MAX_LEAVES","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"aggSeq","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"allowInitializePath","inputs":[{"name":"origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"broadcast","inputs":[{"name":"targetEids","type":"uint32[]","internalType":"uint32[]"},{"name":"lzOptions","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"currentAggregationRoot","inputs":[],"outputs":[{"name":"aggregationRoot","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"eidToPosition","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"endpoint","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ILayerZeroEndpointV2"}],"stateMutability":"view"},{"type":"function","name":"getTokenInfos","inputs":[],"outputs":[{"name":"infos","type":"tuple[]","internalType":"struct Hub.TokenInfo[]","components":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"verifier","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"}]}],"stateMutability":"view"},{"type":"function","name":"getTransferRootsAndIndices","inputs":[],"outputs":[{"name":"roots","type":"uint256[]","internalType":"uint256[]"},{"name":"treeIndices","type":"uint64[]","internalType":"uint64[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"delegate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isComposeMsgSender","inputs":[{"name":"","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"","type":"bytes","internalType":"bytes"},{"name":"_sender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"lzReceive","inputs":[{"name":"_origin","type":"tuple","internalType":"struct Origin","components":[{"name":"srcEid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"},{"name":"nonce","type":"uint64","internalType":"uint64"}]},{"name":"_guid","type":"bytes32","internalType":"bytes32"},{"name":"_message","type":"bytes","internalType":"bytes"},{"name":"_executor","type":"address","internalType":"address"},{"name":"_extraData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"nextNonce","inputs":[{"name":"","type":"uint32","internalType":"uint32"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"oAppVersion","inputs":[],"outputs":[{"name":"senderVersion","type":"uint64","internalType":"uint64"},{"name":"receiverVersion","type":"uint64","internalType":"uint64"}],"stateMutability":"pure"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"peers","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"quoteBroadcast","inputs":[{"name":"targetEids","type":"uint32[]","internalType":"uint32[]"},{"name":"lzOptions","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"totalNativeFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"registerToken","inputs":[{"name":"info","type":"tuple","internalType":"struct Hub.TokenInfo","components":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"verifier","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDelegate","inputs":[{"name":"_delegate","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setPeer","inputs":[{"name":"_eid","type":"uint32","internalType":"uint32"},{"name":"_peer","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"tokenInfos","inputs":[{"name":"index_","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"verifier","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferRoots","inputs":[{"name":"index_","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transferTreeIndices","inputs":[{"name":"index_","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"updateToken","inputs":[{"name":"info","type":"tuple","internalType":"struct Hub.TokenInfo","components":[{"name":"chainId","type":"uint64","internalType":"uint64"},{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"verifier","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeTo","inputs":[{"name":"newImplementation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"zeroHash","inputs":[{"name":"index_","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AdminChanged","inputs":[{"name":"previousAdmin","type":"address","indexed":false,"internalType":"address"},{"name":"newAdmin","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"AggregationRootUpdated","inputs":[{"name":"root","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"aggSeq","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"transferRootsSnapshot","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"transferTreeIndicesSnapshot","type":"uint64[]","indexed":false,"internalType":"uint64[]"}],"anonymous":false},{"type":"event","name":"BeaconUpgraded","inputs":[{"name":"beacon","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PeerSet","inputs":[{"name":"eid","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"peer","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"TokenRegistered","inputs":[{"name":"eid","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"index","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"chainId","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"verifier","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokenUpdated","inputs":[{"name":"eid","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"index","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"chainId","type":"uint64","indexed":false,"internalType":"uint64"},{"name":"token","type":"address","indexed":false,"internalType":"address"},{"name":"verifier","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TransferRootUpdated","inputs":[{"name":"eid","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"index","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"newRoot","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"EmptyTargetEids","inputs":[]},{"type":"error","name":"FeeRefundFailed","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"HubCapacityReached","inputs":[]},{"type":"error","name":"InvalidChainId","inputs":[]},{"type":"error","name":"InvalidDelegate","inputs":[]},{"type":"error","name":"InvalidEndpointCall","inputs":[]},{"type":"error","name":"InvalidPayloadLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"LayerZeroTokenFeeUnsupported","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"lzTokenFee","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"LzTokenUnavailable","inputs":[]},{"type":"error","name":"NativeFeeMismatch","inputs":[{"name":"provided","type":"uint256","internalType":"uint256"},{"name":"required","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NoPeer","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"NotEnoughNative","inputs":[{"name":"msgValue","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OnlyEndpoint","inputs":[{"name":"addr","type":"address","internalType":"address"}]},{"type":"error","name":"OnlyPeer","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"},{"name":"sender","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"TokenAlreadyRegistered","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"TokenNotRegistered","inputs":[{"name":"eid","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"ZeroToken","inputs":[]},{"type":"error","name":"ZeroVerifier","inputs":[]}],"bytecode":{"object":"0x60c06040523060a052348015610013575f5ffd5b5060405161382338038061382383398101604081905261003291610128565b6001600160a01b038116608081905261005e576040516307def60560e11b815260040160405180910390fd5b61006661006c565b50610155565b5f54610100900460ff16156100d75760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f5460ff90811614610126575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b5f60208284031215610138575f5ffd5b81516001600160a01b038116811461014e575f5ffd5b9392505050565b60805160a0516136676101bc5f395f8181610d6001528181610da001528181610e6201528181610ea20152610f3301525f8181610387015281816105fe0152818161155c015281816123d501528181612602015281816127d1015261288801526136675ff3fe6080604052600436106101c5575f3560e01c806362b32f58116100f25780638f84778d11610092578063ca5eb5e111610062578063ca5eb5e11461057d578063cab45f121461059c578063f2fde38b146105af578063ff7bd03d146105ce575f5ffd5b80638f84778d146104db578063bb0b6a53146104fa578063c0d03dd41461054a578063c4d66de81461055e575f5ffd5b80637d25a05e116100cd5780637d25a05e1461045157806382413eac146104705780638da5cb5b1461049f5780638e3a428e146104bc575f5ffd5b806362b32f58146103c1578063715018a6146103e05780637c13774b146103f4575f5ffd5b8063327a75d2116101685780634f1ef286116101385780634f1ef2861461031857806352d1902d1461032b578063534dc25e1461033f5780635e280f1114610376575f5ffd5b8063327a75d21461029c5780633400288b146102bb5780633659cfe6146102da57806341b4631e146102f9575f5ffd5b8063193695eb116101a3578063193695eb146102265780631a2595a9146102475780632ba8d07b1461025b5780632dd992be1461027d575f5ffd5b8063082febf0146101c957806313137d65146101f057806317442b7014610205575b5f5ffd5b3480156101d4575f5ffd5b506101dd6105ed565b6040519081526020015b60405180910390f35b6102036101fe366004612c1f565b6105fc565b005b348015610210575f5ffd5b50604080516001815260026020820152016101e7565b348015610231575f5ffd5b5061023a6106bc565b6040516101e79190612cb9565b348015610252575f5ffd5b506101dd6107e9565b348015610266575f5ffd5b5061026f6108d0565b6040516101e7929190612d3c565b348015610288575f5ffd5b506101dd610297366004612dd6565b610a23565b3480156102a7575f5ffd5b506102036102b6366004612df1565b610a4a565b3480156102c6575f5ffd5b506102036102d5366004612e0a565b610cd8565b3480156102e5575f5ffd5b506102036102f4366004612e34565b610d56565b348015610304575f5ffd5b506101dd610313366004612e4f565b610e33565b610203610326366004612eaa565b610e58565b348015610336575f5ffd5b506101dd610f27565b34801561034a575f5ffd5b5061035e610359366004612e4f565b610fd8565b6040516001600160401b0390911681526020016101e7565b348015610381575f5ffd5b506103a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e7565b3480156103cc575f5ffd5b506102036103db366004612df1565b611023565b3480156103eb575f5ffd5b50610203611222565b3480156103ff575f5ffd5b5061041361040e366004612e4f565b611235565b604080516001600160401b03909516855263ffffffff90931660208501526001600160a01b03918216928401929092521660608201526080016101e7565b34801561045c575f5ffd5b5061035e61046b366004612e0a565b6112a5565b34801561047b575f5ffd5b5061048f61048a366004612f4f565b6112ad565b60405190151581526020016101e7565b3480156104aa575f5ffd5b506033546001600160a01b03166103a9565b3480156104c7575f5ffd5b506101dd6104d6366004612fb1565b6112c2565b3480156104e6575f5ffd5b506101dd6104f5366004612e4f565b6113c2565b348015610505575f5ffd5b506101dd610514366004612dd6565b63ffffffff165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602052604090205490565b348015610555575f5ffd5b5061035e6113ed565b348015610569575f5ffd5b50610203610578366004612e34565b611408565b348015610588575f5ffd5b50610203610597366004612e34565b611535565b6102036105aa366004612fb1565b6115b6565b3480156105ba575f5ffd5b506102036105c9366004612e34565b611827565b3480156105d9575f5ffd5b5061048f6105e8366004613049565b61189d565b6105f96006600261315a565b81565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461064c576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b6020870180359061066690610661908a612dd6565b6118ba565b146106a4576106786020880188612dd6565b60405163309afaf360e21b815263ffffffff909116600482015260208801356024820152604401610643565b6106b38787878787878761191d565b50505050505050565b60605f6106c7611ae2565b6002810154909150806001600160401b038111156106e7576106e7612e66565b60405190808252806020026020018201604052801561073757816020015b604080516080810182525f8082526020808301829052928201819052606082015282525f199092019101816107055790505b5092505f5b818110156107e35782600201818154811061075957610759613165565b5f91825260209182902060408051608081018252600290930290910180546001600160401b038116845263ffffffff600160401b820416948401949094526001600160a01b03600160601b90940484169183019190915260010154909116606082015284518590839081106107d0576107d0613165565b602090810291909101015260010161073c565b50505090565b5f5f6107f3611ae2565b80549091505f816001600160401b0381111561081157610811612e66565b60405190808252806020026020018201604052801561083a578160200160208202803683370190505b5090505f5b8281101561088957835f01818154811061085b5761085b613165565b905f5260205f20015482828151811061087657610876613165565b602090810291909101015260010161083f565b506040805160e08101918290525f91600486019060079082845b8154815260200190600101908083116108a357505050505090506108c78282611b58565b94505050505090565b6060805f6108dc611ae2565b8054909150806001600160401b038111156108f9576108f9612e66565b604051908082528060200260200182016040528015610922578160200160208202803683370190505b509350806001600160401b0381111561093d5761093d612e66565b604051908082528060200260200182016040528015610966578160200160208202803683370190505b5092505f5b81811015610a1c57825f01818154811061098757610987613165565b905f5260205f2001548582815181106109a2576109a2613165565b6020026020010181815250508260010181815481106109c3576109c3613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03168482815181106109fc576109fc613165565b6001600160401b039092166020928302919091019091015260010161096b565b5050509091565b5f610a2c611ae2565b63ffffffff9092165f90815260039290920160205250604090205490565b610a52611cc4565b5f610a636060830160408401612e34565b6001600160a01b031603610a8a57604051634a8bdce360e01b815260040160405180910390fd5b5f610a9b6080830160608401612e34565b6001600160a01b031603610ac25760405163ad1991f560e01b815260040160405180910390fd5b610acf602082018261318d565b6001600160401b03165f03610af757604051633d23e4d160e11b815260040160405180910390fd5b5f610b00611ae2565b9050600381015f610b176040850160208601612dd6565b63ffffffff16815260208101919091526040015f205415610b6457610b426040830160208401612dd6565b6040516303ac826d60e11b815263ffffffff9091166004820152602401610643565b610b706006600261315a565b815410610b905760405163aae9790560e01b815260040160405180910390fd5b8054600180820183555f83815260208082208401829055828501805480850182559083528183206004820401805460039092166008026101000a6001600160401b030219909116905560028086018054948501815583529120859290910201610bf982826131a8565b50610c079050816001613268565b600383015f610c1c6040870160208801612dd6565b63ffffffff1663ffffffff1681526020019081526020015f208190555080836020016020810190610c4d9190612dd6565b63ffffffff167f42fe6078ecf798fc0c6f4af46726da5c84c10a513e502b345ef1f709383485ff610c81602087018761318d565b610c916080880160608901612e34565b610ca16060890160408a01612e34565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a3505050565b610ce0611cc4565b63ffffffff82165f8181527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602081815260409283902085905582519384528301849052815190927f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b92908290030190a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d9e5760405162461bcd60e51b81526004016106439061327b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610de65f5160206135eb5f395f51905f52546001600160a01b031690565b6001600160a01b031614610e0c5760405162461bcd60e51b8152600401610643906132c7565b610e1581611d1e565b604080515f80825260208201909252610e3091839190611d26565b50565b5f610e3c611ae2565b6004018260078110610e5057610e50613165565b015492915050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ea05760405162461bcd60e51b81526004016106439061327b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ee85f5160206135eb5f395f51905f52546001600160a01b031690565b6001600160a01b031614610f0e5760405162461bcd60e51b8152600401610643906132c7565b610f1782611d1e565b610f2382826001611d26565b5050565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fc65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610643565b505f5160206135eb5f395f51905f5290565b5f610fe1611ae2565b6001018281548110610ff557610ff5613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03169050919050565b61102b611cc4565b5f61103c6060830160408401612e34565b6001600160a01b03160361106357604051634a8bdce360e01b815260040160405180910390fd5b5f6110746080830160608401612e34565b6001600160a01b03160361109b5760405163ad1991f560e01b815260040160405180910390fd5b6110a8602082018261318d565b6001600160401b03165f036110d057604051633d23e4d160e11b815260040160405180910390fd5b5f6110d9611ae2565b90505f60038201816110f16040860160208701612dd6565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f03611146576111246040840160208501612dd6565b6040516395373a4d60e01b815263ffffffff9091166004820152602401610643565b5f611152600183613313565b90508383600201828154811061116a5761116a613165565b905f5260205f209060020201818161118291906131a8565b508190506111966040860160208701612dd6565b63ffffffff167ff254892b05ecf2fbbe2e66c39a4bebc6e86a32b0e7d4d0385643284e8fececaf6111ca602088018861318d565b6111da6080890160608a01612e34565b6111ea60608a0160408b01612e34565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a350505050565b61122a611cc4565b6112335f611e95565b565b5f5f5f5f5f611242611ae2565b600201868154811061125657611256613165565b5f918252602090912060029091020180546001909101546001600160401b03821698600160401b830463ffffffff169850600160601b9092046001600160a01b03908116975016945092505050565b5f5b92915050565b6001600160a01b03811630145b949350505050565b5f8381036112e357604051635e80705160e11b815260040160405180910390fd5b5f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040519495509361133c93508492506001915060200191825260ff16602082015260400190565b60408051601f1981840301815291905290506113b787878385826001600160401b0381111561136d5761136d612e66565b6040519080825280602002602001820160405280156113b157816020015b604080518082019091525f808252602082015281526020019060019003908161138b5790505b50611ee6565b979650505050505050565b5f6113cb611ae2565b8054839081106113dd576113dd613165565b905f5260205f2001549050919050565b5f6113f6611ae2565b600b01546001600160401b0316919050565b5f54610100900460ff161580801561142657505f54600160ff909116105b8061143f5750303b15801561143f57505f5460ff166001145b6114a25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610643565b5f805460ff1916600117905580156114c3575f805461ff0019166101001790555b6114cb611ff2565b6114d482612020565b6114dc61205b565b6114e4612081565b6114ed82611e95565b8015610f23575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61153d611cc4565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b15801561159d575f5ffd5b505af11580156115af573d5f5f3e3d5ffd5b5050505050565b5f8390036115d757604051635e80705160e11b815260040160405180910390fd5b5f6115e06120fe565b90505f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093945088925050506001600160401b0381111561163357611633612e66565b60405190808252806020026020018201604052801561167757816020015b604080518082019091525f80825260208201528152602001906001900390816116515790505b5090505f61168c888886608001518686611ee6565b9050803410156116b8576040516311681bff60e21b815234600482015260248101829052604401610643565b5f6116c38234613313565b905084606001516116d2611ae2565b600b01805467ffffffffffffffff19166001600160401b03929092169190911790555f5b888110156117575761174e8a8a8381811061171357611713613165565b90506020020160208101906117289190612dd6565b87608001518787858151811061174057611740613165565b6020026020010151336123a4565b506001016116f6565b5080156117c9576040515f90339083908381818185875af1925050503d805f811461179d576040519150601f19603f3d011682016040523d82523d5f602084013e6117a2565b606091505b50509050806117c75760405163c3b6177360e01b815260048101839052602401610643565b505b84606001516001600160401b031685604001517fc45d64a624f5ea943d296c2cc396d123da7acdc7e56cb5fa4790393f70b0857c875f01518860200151604051611814929190612d3c565b60405180910390a3505050505050505050565b61182f611cc4565b6001600160a01b0381166118945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610643565b610e3081611e95565b5f602082018035906118b3906105149085612dd6565b1492915050565b63ffffffff81165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f90060208190526040822054806119165760405163f6ff4fb760e01b815263ffffffff85166004820152602401610643565b9392505050565b5f611926611ae2565b90505f600382018161193b60208c018c612dd6565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f0361196b5761112460208a018a612dd6565b6040861461198f57604051637b0ef91960e11b815260048101879052602401610643565b5f8061199d888a018a613326565b90925090505f6119ae600185613313565b90505f8560010182815481106119c6576119c6613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03169050806001600160401b0316836001600160401b031611611a13575050505050506106b3565b83865f018381548110611a2857611a28613165565b905f5260205f20018190555082866001018381548110611a4a57611a4a613165565b905f5260205f2090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b03160217905550818d5f016020810190611a949190612dd6565b63ffffffff167f95cdbf55cd3d66022859359197d7a3fc03e1ce5507a81e5deaf336e518080ee986604051611acb91815260200190565b60405180910390a350505050505050505050505050565b6040805180820190915260128152713d32b93199181739ba37b930b3b297343ab160711b6020909101527f3e957a4e6127908366d866018eb39125d775b803bcb74b26a9d87a4f110f8bcb5f908152807facfc6fc065fbb01a310c13fd5991d94fb50bcd8a63ee4ce4897d543e9b5aed006112a7565b81515f90808203611b6f57505060c08101516112a7565b5f5b6001821115611c65575f6001611b878482613268565b901c90505f5b81811015611c5a575f87611ba2836002613354565b81518110611bb257611bb2613165565b602002602001015190505f85836002611bcb9190613354565b611bd6906001613268565b10611bf757878560078110611bed57611bed613165565b6020020151611c27565b88611c03846002613354565b611c0e906001613268565b81518110611c1e57611c1e613165565b60200260200101515b9050611c33828261249f565b898481518110611c4557611c45613165565b60209081029190910101525050600101611b8d565b509150600101611b71565b5f855f81518110611c7857611c78613165565b602002602001015190505f8290505b6006811015611cba57611cb082878360078110611ca657611ca6613165565b602002015161249f565b9150600101611c87565b5095945050505050565b6033546001600160a01b031633146112335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610643565b610e30611cc4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d5e57611d5983612528565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611db8575060408051601f3d908101601f19168201909252611db59181019061336b565b60015b611e1b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610643565b5f5160206135eb5f395f51905f528114611e895760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610643565b50611d598383836125c3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f5f611ef0611ae2565b9050855f5b81811015611fe6575f898983818110611f1057611f10613165565b9050602002016020810190611f259190612dd6565b63ffffffff81165f90815260038601602052604081205491925003611f65576040516395373a4d60e01b815263ffffffff82166004820152602401610643565b5f611f72828a8a5f6125ed565b905080602001515f14611fad57602081015160405163df001b1d60e01b815263ffffffff841660048201526024810191909152604401610643565b80878481518110611fc057611fc0613165565b60209081029190910101528051611fd79087613268565b95505050806001019050611ef5565b50505095945050505050565b5f54610100900460ff166120185760405162461bcd60e51b815260040161064390613382565b6112336126cb565b5f54610100900460ff166120465760405162461bcd60e51b815260040161064390613382565b61204f816126fa565b61205761205b565b610e305b5f54610100900460ff166112335760405162461bcd60e51b815260040161064390613382565b5f54610100900460ff166120a75760405162461bcd60e51b815260040161064390613382565b5f6120b0611ae2565b90505f6120bb612729565b90505f5b6007811015611d59578181600781106120da576120da613165565b60200201518360040182600781106120f4576120f4613165565b01556001016120bf565b6121376040518060a0016040528060608152602001606081526020015f81526020015f6001600160401b03168152602001606081525090565b5f612140611ae2565b8054909150806001600160401b0381111561215d5761215d612e66565b604051908082528060200260200182016040528015612186578160200160208202803683370190505b508352806001600160401b038111156121a1576121a1612e66565b6040519080825280602002602001820160405280156121ca578160200160208202803683370190505b5060208401525f816001600160401b038111156121e9576121e9612e66565b604051908082528060200260200182016040528015612212578160200160208202803683370190505b5090505f5b828110156122f3575f845f01828154811061223457612234613165565b905f5260205f200154905080865f0151838151811061225557612255613165565b6020026020010181815250508083838151811061227457612274613165565b60200260200101818152505084600101828154811061229557612295613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b0316866020015183815181106122d2576122d2613165565b6001600160401b039092166020928302919091019091015250600101612217565b506040805160e08101918290525f91600486019060079082845b81548152602001906001019080831161230d57505050505090506123318282611b58565b6040860152600b84015461234f906001600160401b031660016133cd565b6001600160401b031660608601819052604080870151905161238692906020019182526001600160401b0316602082015260400190565b60405160208183030381529060405285608001819052505050505090565b6123ac612b35565b5f6123b9845f01516127aa565b6020850151909150156123d3576123d384602001516127ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff1681526020016124238c6118ba565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b815260040161245e92919061341a565b60806040518083038185885af115801561247a573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113b791906134de565b5f6124a8612b75565b83815260208101839052604051632b0aac7f60e11b815273__$a2daaad8940c9006af3f1557205ebe532d$__9063561558fe906124e9908490600401613545565b602060405180830381865af4158015612504573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ba919061336b565b6001600160a01b0381163b6125955760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610643565b5f5160206135eb5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6125cc836128ad565b5f825111806125d85750805b15611d59576125e783836128ec565b50505050565b604080518082019091525f80825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161264f896118ba565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161268492919061341a565b6040805180830381865afa15801561269e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126c29190613575565b95945050505050565b5f54610100900460ff166126f15760405162461bcd60e51b815260040161064390613382565b61123333611e95565b5f54610100900460ff166127205760405162461bcd60e51b815260040161064390613382565b610e3081612911565b612731612b93565b5f815260015b600681116127a65761277f8261274e600184613313565b6007811061275e5761275e613165565b60200201518361276f600185613313565b60078110611ca657611ca6613165565b82826007811061279157612791613165565b602002015261279f8161358f565b9050612737565b5090565b5f813410156127a6576040516304fb820960e51b8152346004820152602401610643565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561282b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284f91906135a7565b90506001600160a01b038116612878576040516329b99a9560e11b815260040160405180910390fd5b610f236001600160a01b038216337f00000000000000000000000000000000000000000000000000000000000000008561295e565b6128b681612528565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060611916838360405180606001604052806027815260200161360b602791396129b8565b5f54610100900460ff166129375760405162461bcd60e51b815260040161064390613382565b6001600160a01b03811661153d57604051632d618d8160e21b815260040160405180910390fd5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526125e7908590612a2c565b60605f5f856001600160a01b0316856040516129d491906135c2565b5f60405180830381855af49150503d805f8114612a0c576040519150601f19603f3d011682016040523d82523d5f602084013e612a11565b606091505b5091509150612a2286838387612a98565b9695505050505050565b5f5f60205f8451602086015f885af180612a4b576040513d5f823e3d81fd5b50505f513d91508115612a62578060011415612a6f565b6001600160a01b0384163b155b156125e757604051635274afe760e01b81526001600160a01b0385166004820152602401610643565b60608315612b065782515f03612aff576001600160a01b0385163b612aff5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610643565b50816112ba565b6112ba8383815115612b1b5781518083602001fd5b8060405162461bcd60e51b815260040161064391906135d8565b60405180606001604052805f81526020015f6001600160401b03168152602001612b7060405180604001604052805f81526020015f81525090565b905290565b60405180604001604052806002906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b5f60608284031215612bc1575f5ffd5b50919050565b5f5f83601f840112612bd7575f5ffd5b5081356001600160401b03811115612bed575f5ffd5b602083019150836020828501011115612c04575f5ffd5b9250929050565b6001600160a01b0381168114610e30575f5ffd5b5f5f5f5f5f5f5f60e0888a031215612c35575f5ffd5b612c3f8989612bb1565b96506060880135955060808801356001600160401b03811115612c60575f5ffd5b612c6c8a828b01612bc7565b90965094505060a0880135612c8081612c0b565b925060c08801356001600160401b03811115612c9a575f5ffd5b612ca68a828b01612bc7565b989b979a50959850939692959293505050565b602080825282518282018190525f918401906040840190835b81811015612d3157835180516001600160401b0316845260208082015163ffffffff16818601526040808301516001600160a01b0390811691870191909152606092830151169185019190915290930192608090920191600101612cd2565b509095945050505050565b604080825283519082018190525f9060208501906060840190835b81811015612d75578351835260209384019390920191600101612d57565b5050838103602080860191909152855180835291810192508501905f5b81811015612db95782516001600160401b0316845260209384019390920191600101612d92565b50919695505050505050565b63ffffffff81168114610e30575f5ffd5b5f60208284031215612de6575f5ffd5b813561191681612dc5565b5f6080828403128015612e02575f5ffd5b509092915050565b5f5f60408385031215612e1b575f5ffd5b8235612e2681612dc5565b946020939093013593505050565b5f60208284031215612e44575f5ffd5b813561191681612c0b565b5f60208284031215612e5f575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715612ea257612ea2612e66565b604052919050565b5f5f60408385031215612ebb575f5ffd5b8235612ec681612c0b565b915060208301356001600160401b03811115612ee0575f5ffd5b8301601f81018513612ef0575f5ffd5b80356001600160401b03811115612f0957612f09612e66565b612f1c601f8201601f1916602001612e7a565b818152866020838501011115612f30575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60a08587031215612f62575f5ffd5b612f6c8686612bb1565b935060608501356001600160401b03811115612f86575f5ffd5b612f9287828801612bc7565b9094509250506080850135612fa681612c0b565b939692955090935050565b5f5f5f5f60408587031215612fc4575f5ffd5b84356001600160401b03811115612fd9575f5ffd5b8501601f81018713612fe9575f5ffd5b80356001600160401b03811115612ffe575f5ffd5b8760208260051b8401011115613012575f5ffd5b6020918201955093508501356001600160401b03811115613031575f5ffd5b61303d87828801612bc7565b95989497509550505050565b5f60608284031215613059575f5ffd5b6119168383612bb1565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156130b25780850481111561309657613096613063565b60018416156130a457908102905b60019390931c92800261307b565b935093915050565b5f826130c8575060016112a7565b816130d457505f6112a7565b81600181146130ea57600281146130f457613110565b60019150506112a7565b60ff84111561310557613105613063565b50506001821b6112a7565b5060208310610133831016604e8410600b8410161715613133575081810a6112a7565b61313f5f198484613077565b805f190482111561315257613152613063565b029392505050565b5f61191683836130ba565b634e487b7160e01b5f52603260045260245ffd5b6001600160401b0381168114610e30575f5ffd5b5f6020828403121561319d575f5ffd5b813561191681613179565b81356131b381613179565b6001600160401b03811690508154816001600160401b0319821617835560208401356131de81612dc5565b6bffffffff00000000000000008160401b16905080836bffffffffffffffffffffffff198416171784556040850135915061321882612c0b565b909117606091821b6bffffffffffffffffffffffff19161782555f9083013561324081612c0b565b60019290920180546001600160a01b0319166001600160a01b03909316929092179091555050565b808201808211156112a7576112a7613063565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b818103818111156112a7576112a7613063565b5f5f60408385031215613337575f5ffd5b82359150602083013561334981613179565b809150509250929050565b80820281158282048414176112a7576112a7613063565b5f6020828403121561337b575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160401b0381811683821601908111156112a7576112a7613063565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261344f60e08401826133ec565b90506060850151603f198483030160a085015261346c82826133ec565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f604082840312156134a2575f5ffd5b604080519081016001600160401b03811182821017156134c4576134c4612e66565b604052825181526020928301519281019290925250919050565b5f60808284031280156134ef575f5ffd5b50604051606081016001600160401b038111828210171561351257613512612e66565b60405282518152602083015161352781613179565b60208201526135398460408501613492565b60408201529392505050565b6040810181835f5b600281101561356c57815183526020928301929091019060010161354d565b50505092915050565b5f60408284031215613585575f5ffd5b6119168383613492565b5f600182016135a0576135a0613063565b5060010190565b5f602082840312156135b7575f5ffd5b815161191681612c0b565b5f82518060208501845e5f920191825250919050565b602081525f61191660208301846133ec56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e892074aa352c6aa0b26f60dbba1648a75394e61ff89eb07c64b4d81a92620964736f6c634300081e0033","sourceMap":"1046:14141:98:-:0;;;1198:4:62;1155:48;;3916:161:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1307:42:15;;;;;;3982:56:98::1;;4017:21;;-1:-1:-1::0;;;4017:21:98::1;;;;;;;;;;;3982:56;4048:22;:20;:22::i;:::-;3916:161:::0;1046:14141;;5939:280:61;6007:13;;;;;;;6006:14;5998:66;;;;-1:-1:-1;;;5998:66:61;;511:2:124;5998:66:61;;;493:21:124;550:2;530:18;;;523:30;589:34;569:18;;;562:62;-1:-1:-1;;;640:18:124;;;633:37;687:19;;5998:66:61;;;;;;;;6078:12;;6094:15;6078:12;;;:31;6074:139;;6125:12;:30;;-1:-1:-1;;6125:30:61;6140:15;6125:30;;;;;;6174:28;;859:36:124;;;6174:28:61;;847:2:124;832:18;6174:28:61;;;;;;;6074:139;5939:280::o;14:290:124:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:124;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:124:o;717:184::-;1046:14141:98;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{"lib/poseidon-solidity/contracts/PoseidonT3.sol":{"PoseidonT3":[{"start":9853,"length":20}]}}},"deployedBytecode":{"object":"0x6080604052600436106101c5575f3560e01c806362b32f58116100f25780638f84778d11610092578063ca5eb5e111610062578063ca5eb5e11461057d578063cab45f121461059c578063f2fde38b146105af578063ff7bd03d146105ce575f5ffd5b80638f84778d146104db578063bb0b6a53146104fa578063c0d03dd41461054a578063c4d66de81461055e575f5ffd5b80637d25a05e116100cd5780637d25a05e1461045157806382413eac146104705780638da5cb5b1461049f5780638e3a428e146104bc575f5ffd5b806362b32f58146103c1578063715018a6146103e05780637c13774b146103f4575f5ffd5b8063327a75d2116101685780634f1ef286116101385780634f1ef2861461031857806352d1902d1461032b578063534dc25e1461033f5780635e280f1114610376575f5ffd5b8063327a75d21461029c5780633400288b146102bb5780633659cfe6146102da57806341b4631e146102f9575f5ffd5b8063193695eb116101a3578063193695eb146102265780631a2595a9146102475780632ba8d07b1461025b5780632dd992be1461027d575f5ffd5b8063082febf0146101c957806313137d65146101f057806317442b7014610205575b5f5ffd5b3480156101d4575f5ffd5b506101dd6105ed565b6040519081526020015b60405180910390f35b6102036101fe366004612c1f565b6105fc565b005b348015610210575f5ffd5b50604080516001815260026020820152016101e7565b348015610231575f5ffd5b5061023a6106bc565b6040516101e79190612cb9565b348015610252575f5ffd5b506101dd6107e9565b348015610266575f5ffd5b5061026f6108d0565b6040516101e7929190612d3c565b348015610288575f5ffd5b506101dd610297366004612dd6565b610a23565b3480156102a7575f5ffd5b506102036102b6366004612df1565b610a4a565b3480156102c6575f5ffd5b506102036102d5366004612e0a565b610cd8565b3480156102e5575f5ffd5b506102036102f4366004612e34565b610d56565b348015610304575f5ffd5b506101dd610313366004612e4f565b610e33565b610203610326366004612eaa565b610e58565b348015610336575f5ffd5b506101dd610f27565b34801561034a575f5ffd5b5061035e610359366004612e4f565b610fd8565b6040516001600160401b0390911681526020016101e7565b348015610381575f5ffd5b506103a97f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101e7565b3480156103cc575f5ffd5b506102036103db366004612df1565b611023565b3480156103eb575f5ffd5b50610203611222565b3480156103ff575f5ffd5b5061041361040e366004612e4f565b611235565b604080516001600160401b03909516855263ffffffff90931660208501526001600160a01b03918216928401929092521660608201526080016101e7565b34801561045c575f5ffd5b5061035e61046b366004612e0a565b6112a5565b34801561047b575f5ffd5b5061048f61048a366004612f4f565b6112ad565b60405190151581526020016101e7565b3480156104aa575f5ffd5b506033546001600160a01b03166103a9565b3480156104c7575f5ffd5b506101dd6104d6366004612fb1565b6112c2565b3480156104e6575f5ffd5b506101dd6104f5366004612e4f565b6113c2565b348015610505575f5ffd5b506101dd610514366004612dd6565b63ffffffff165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602052604090205490565b348015610555575f5ffd5b5061035e6113ed565b348015610569575f5ffd5b50610203610578366004612e34565b611408565b348015610588575f5ffd5b50610203610597366004612e34565b611535565b6102036105aa366004612fb1565b6115b6565b3480156105ba575f5ffd5b506102036105c9366004612e34565b611827565b3480156105d9575f5ffd5b5061048f6105e8366004613049565b61189d565b6105f96006600261315a565b81565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316331461064c576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b6020870180359061066690610661908a612dd6565b6118ba565b146106a4576106786020880188612dd6565b60405163309afaf360e21b815263ffffffff909116600482015260208801356024820152604401610643565b6106b38787878787878761191d565b50505050505050565b60605f6106c7611ae2565b6002810154909150806001600160401b038111156106e7576106e7612e66565b60405190808252806020026020018201604052801561073757816020015b604080516080810182525f8082526020808301829052928201819052606082015282525f199092019101816107055790505b5092505f5b818110156107e35782600201818154811061075957610759613165565b5f91825260209182902060408051608081018252600290930290910180546001600160401b038116845263ffffffff600160401b820416948401949094526001600160a01b03600160601b90940484169183019190915260010154909116606082015284518590839081106107d0576107d0613165565b602090810291909101015260010161073c565b50505090565b5f5f6107f3611ae2565b80549091505f816001600160401b0381111561081157610811612e66565b60405190808252806020026020018201604052801561083a578160200160208202803683370190505b5090505f5b8281101561088957835f01818154811061085b5761085b613165565b905f5260205f20015482828151811061087657610876613165565b602090810291909101015260010161083f565b506040805160e08101918290525f91600486019060079082845b8154815260200190600101908083116108a357505050505090506108c78282611b58565b94505050505090565b6060805f6108dc611ae2565b8054909150806001600160401b038111156108f9576108f9612e66565b604051908082528060200260200182016040528015610922578160200160208202803683370190505b509350806001600160401b0381111561093d5761093d612e66565b604051908082528060200260200182016040528015610966578160200160208202803683370190505b5092505f5b81811015610a1c57825f01818154811061098757610987613165565b905f5260205f2001548582815181106109a2576109a2613165565b6020026020010181815250508260010181815481106109c3576109c3613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03168482815181106109fc576109fc613165565b6001600160401b039092166020928302919091019091015260010161096b565b5050509091565b5f610a2c611ae2565b63ffffffff9092165f90815260039290920160205250604090205490565b610a52611cc4565b5f610a636060830160408401612e34565b6001600160a01b031603610a8a57604051634a8bdce360e01b815260040160405180910390fd5b5f610a9b6080830160608401612e34565b6001600160a01b031603610ac25760405163ad1991f560e01b815260040160405180910390fd5b610acf602082018261318d565b6001600160401b03165f03610af757604051633d23e4d160e11b815260040160405180910390fd5b5f610b00611ae2565b9050600381015f610b176040850160208601612dd6565b63ffffffff16815260208101919091526040015f205415610b6457610b426040830160208401612dd6565b6040516303ac826d60e11b815263ffffffff9091166004820152602401610643565b610b706006600261315a565b815410610b905760405163aae9790560e01b815260040160405180910390fd5b8054600180820183555f83815260208082208401829055828501805480850182559083528183206004820401805460039092166008026101000a6001600160401b030219909116905560028086018054948501815583529120859290910201610bf982826131a8565b50610c079050816001613268565b600383015f610c1c6040870160208801612dd6565b63ffffffff1663ffffffff1681526020019081526020015f208190555080836020016020810190610c4d9190612dd6565b63ffffffff167f42fe6078ecf798fc0c6f4af46726da5c84c10a513e502b345ef1f709383485ff610c81602087018761318d565b610c916080880160608901612e34565b610ca16060890160408a01612e34565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a3505050565b610ce0611cc4565b63ffffffff82165f8181527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f900602081815260409283902085905582519384528301849052815190927f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b92908290030190a1505050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610d9e5760405162461bcd60e51b81526004016106439061327b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610de65f5160206135eb5f395f51905f52546001600160a01b031690565b6001600160a01b031614610e0c5760405162461bcd60e51b8152600401610643906132c7565b610e1581611d1e565b604080515f80825260208201909252610e3091839190611d26565b50565b5f610e3c611ae2565b6004018260078110610e5057610e50613165565b015492915050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610ea05760405162461bcd60e51b81526004016106439061327b565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ee85f5160206135eb5f395f51905f52546001600160a01b031690565b6001600160a01b031614610f0e5760405162461bcd60e51b8152600401610643906132c7565b610f1782611d1e565b610f2382826001611d26565b5050565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fc65760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610643565b505f5160206135eb5f395f51905f5290565b5f610fe1611ae2565b6001018281548110610ff557610ff5613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03169050919050565b61102b611cc4565b5f61103c6060830160408401612e34565b6001600160a01b03160361106357604051634a8bdce360e01b815260040160405180910390fd5b5f6110746080830160608401612e34565b6001600160a01b03160361109b5760405163ad1991f560e01b815260040160405180910390fd5b6110a8602082018261318d565b6001600160401b03165f036110d057604051633d23e4d160e11b815260040160405180910390fd5b5f6110d9611ae2565b90505f60038201816110f16040860160208701612dd6565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f03611146576111246040840160208501612dd6565b6040516395373a4d60e01b815263ffffffff9091166004820152602401610643565b5f611152600183613313565b90508383600201828154811061116a5761116a613165565b905f5260205f209060020201818161118291906131a8565b508190506111966040860160208701612dd6565b63ffffffff167ff254892b05ecf2fbbe2e66c39a4bebc6e86a32b0e7d4d0385643284e8fececaf6111ca602088018861318d565b6111da6080890160608a01612e34565b6111ea60608a0160408b01612e34565b604080516001600160401b0390941684526001600160a01b03928316602085015291169082015260600160405180910390a350505050565b61122a611cc4565b6112335f611e95565b565b5f5f5f5f5f611242611ae2565b600201868154811061125657611256613165565b5f918252602090912060029091020180546001909101546001600160401b03821698600160401b830463ffffffff169850600160601b9092046001600160a01b03908116975016945092505050565b5f5b92915050565b6001600160a01b03811630145b949350505050565b5f8381036112e357604051635e80705160e11b815260040160405180910390fd5b5f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201829052506040519495509361133c93508492506001915060200191825260ff16602082015260400190565b60408051601f1981840301815291905290506113b787878385826001600160401b0381111561136d5761136d612e66565b6040519080825280602002602001820160405280156113b157816020015b604080518082019091525f808252602082015281526020019060019003908161138b5790505b50611ee6565b979650505050505050565b5f6113cb611ae2565b8054839081106113dd576113dd613165565b905f5260205f2001549050919050565b5f6113f6611ae2565b600b01546001600160401b0316919050565b5f54610100900460ff161580801561142657505f54600160ff909116105b8061143f5750303b15801561143f57505f5460ff166001145b6114a25760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610643565b5f805460ff1916600117905580156114c3575f805461ff0019166101001790555b6114cb611ff2565b6114d482612020565b6114dc61205b565b6114e4612081565b6114ed82611e95565b8015610f23575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b61153d611cc4565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906024015f604051808303815f87803b15801561159d575f5ffd5b505af11580156115af573d5f5f3e3d5ffd5b5050505050565b5f8390036115d757604051635e80705160e11b815260040160405180910390fd5b5f6115e06120fe565b90505f83838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92018290525093945088925050506001600160401b0381111561163357611633612e66565b60405190808252806020026020018201604052801561167757816020015b604080518082019091525f80825260208201528152602001906001900390816116515790505b5090505f61168c888886608001518686611ee6565b9050803410156116b8576040516311681bff60e21b815234600482015260248101829052604401610643565b5f6116c38234613313565b905084606001516116d2611ae2565b600b01805467ffffffffffffffff19166001600160401b03929092169190911790555f5b888110156117575761174e8a8a8381811061171357611713613165565b90506020020160208101906117289190612dd6565b87608001518787858151811061174057611740613165565b6020026020010151336123a4565b506001016116f6565b5080156117c9576040515f90339083908381818185875af1925050503d805f811461179d576040519150601f19603f3d011682016040523d82523d5f602084013e6117a2565b606091505b50509050806117c75760405163c3b6177360e01b815260048101839052602401610643565b505b84606001516001600160401b031685604001517fc45d64a624f5ea943d296c2cc396d123da7acdc7e56cb5fa4790393f70b0857c875f01518860200151604051611814929190612d3c565b60405180910390a3505050505050505050565b61182f611cc4565b6001600160a01b0381166118945760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610643565b610e3081611e95565b5f602082018035906118b3906105149085612dd6565b1492915050565b63ffffffff81165f9081527f72ab1bc1039b79dc4724ffca13de82c96834302d3c7e0d4252232d4b2dd8f90060208190526040822054806119165760405163f6ff4fb760e01b815263ffffffff85166004820152602401610643565b9392505050565b5f611926611ae2565b90505f600382018161193b60208c018c612dd6565b63ffffffff1663ffffffff1681526020019081526020015f20549050805f0361196b5761112460208a018a612dd6565b6040861461198f57604051637b0ef91960e11b815260048101879052602401610643565b5f8061199d888a018a613326565b90925090505f6119ae600185613313565b90505f8560010182815481106119c6576119c6613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b03169050806001600160401b0316836001600160401b031611611a13575050505050506106b3565b83865f018381548110611a2857611a28613165565b905f5260205f20018190555082866001018381548110611a4a57611a4a613165565b905f5260205f2090600491828204019190066008026101000a8154816001600160401b0302191690836001600160401b03160217905550818d5f016020810190611a949190612dd6565b63ffffffff167f95cdbf55cd3d66022859359197d7a3fc03e1ce5507a81e5deaf336e518080ee986604051611acb91815260200190565b60405180910390a350505050505050505050505050565b6040805180820190915260128152713d32b93199181739ba37b930b3b297343ab160711b6020909101527f3e957a4e6127908366d866018eb39125d775b803bcb74b26a9d87a4f110f8bcb5f908152807facfc6fc065fbb01a310c13fd5991d94fb50bcd8a63ee4ce4897d543e9b5aed006112a7565b81515f90808203611b6f57505060c08101516112a7565b5f5b6001821115611c65575f6001611b878482613268565b901c90505f5b81811015611c5a575f87611ba2836002613354565b81518110611bb257611bb2613165565b602002602001015190505f85836002611bcb9190613354565b611bd6906001613268565b10611bf757878560078110611bed57611bed613165565b6020020151611c27565b88611c03846002613354565b611c0e906001613268565b81518110611c1e57611c1e613165565b60200260200101515b9050611c33828261249f565b898481518110611c4557611c45613165565b60209081029190910101525050600101611b8d565b509150600101611b71565b5f855f81518110611c7857611c78613165565b602002602001015190505f8290505b6006811015611cba57611cb082878360078110611ca657611ca6613165565b602002015161249f565b9150600101611c87565b5095945050505050565b6033546001600160a01b031633146112335760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610643565b610e30611cc4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611d5e57611d5983612528565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611db8575060408051601f3d908101601f19168201909252611db59181019061336b565b60015b611e1b5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610643565b5f5160206135eb5f395f51905f528114611e895760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610643565b50611d598383836125c3565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b5f5f611ef0611ae2565b9050855f5b81811015611fe6575f898983818110611f1057611f10613165565b9050602002016020810190611f259190612dd6565b63ffffffff81165f90815260038601602052604081205491925003611f65576040516395373a4d60e01b815263ffffffff82166004820152602401610643565b5f611f72828a8a5f6125ed565b905080602001515f14611fad57602081015160405163df001b1d60e01b815263ffffffff841660048201526024810191909152604401610643565b80878481518110611fc057611fc0613165565b60209081029190910101528051611fd79087613268565b95505050806001019050611ef5565b50505095945050505050565b5f54610100900460ff166120185760405162461bcd60e51b815260040161064390613382565b6112336126cb565b5f54610100900460ff166120465760405162461bcd60e51b815260040161064390613382565b61204f816126fa565b61205761205b565b610e305b5f54610100900460ff166112335760405162461bcd60e51b815260040161064390613382565b5f54610100900460ff166120a75760405162461bcd60e51b815260040161064390613382565b5f6120b0611ae2565b90505f6120bb612729565b90505f5b6007811015611d59578181600781106120da576120da613165565b60200201518360040182600781106120f4576120f4613165565b01556001016120bf565b6121376040518060a0016040528060608152602001606081526020015f81526020015f6001600160401b03168152602001606081525090565b5f612140611ae2565b8054909150806001600160401b0381111561215d5761215d612e66565b604051908082528060200260200182016040528015612186578160200160208202803683370190505b508352806001600160401b038111156121a1576121a1612e66565b6040519080825280602002602001820160405280156121ca578160200160208202803683370190505b5060208401525f816001600160401b038111156121e9576121e9612e66565b604051908082528060200260200182016040528015612212578160200160208202803683370190505b5090505f5b828110156122f3575f845f01828154811061223457612234613165565b905f5260205f200154905080865f0151838151811061225557612255613165565b6020026020010181815250508083838151811061227457612274613165565b60200260200101818152505084600101828154811061229557612295613165565b905f5260205f2090600491828204019190066008029054906101000a90046001600160401b0316866020015183815181106122d2576122d2613165565b6001600160401b039092166020928302919091019091015250600101612217565b506040805160e08101918290525f91600486019060079082845b81548152602001906001019080831161230d57505050505090506123318282611b58565b6040860152600b84015461234f906001600160401b031660016133cd565b6001600160401b031660608601819052604080870151905161238692906020019182526001600160401b0316602082015260400190565b60405160208183030381529060405285608001819052505050505090565b6123ac612b35565b5f6123b9845f01516127aa565b6020850151909150156123d3576123d384602001516127ce565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff1681526020016124238c6118ba565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b815260040161245e92919061341a565b60806040518083038185885af115801561247a573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906113b791906134de565b5f6124a8612b75565b83815260208101839052604051632b0aac7f60e11b815273__$a2daaad8940c9006af3f1557205ebe532d$__9063561558fe906124e9908490600401613545565b602060405180830381865af4158015612504573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112ba919061336b565b6001600160a01b0381163b6125955760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610643565b5f5160206135eb5f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b6125cc836128ad565b5f825111806125d85750805b15611d59576125e783836128ec565b50505050565b604080518082019091525f80825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff16815260200161264f896118ba565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161268492919061341a565b6040805180830381865afa15801561269e573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126c29190613575565b95945050505050565b5f54610100900460ff166126f15760405162461bcd60e51b815260040161064390613382565b61123333611e95565b5f54610100900460ff166127205760405162461bcd60e51b815260040161064390613382565b610e3081612911565b612731612b93565b5f815260015b600681116127a65761277f8261274e600184613313565b6007811061275e5761275e613165565b60200201518361276f600185613313565b60078110611ca657611ca6613165565b82826007811061279157612791613165565b602002015261279f8161358f565b9050612737565b5090565b5f813410156127a6576040516304fb820960e51b8152346004820152602401610643565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561282b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061284f91906135a7565b90506001600160a01b038116612878576040516329b99a9560e11b815260040160405180910390fd5b610f236001600160a01b038216337f00000000000000000000000000000000000000000000000000000000000000008561295e565b6128b681612528565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a250565b6060611916838360405180606001604052806027815260200161360b602791396129b8565b5f54610100900460ff166129375760405162461bcd60e51b815260040161064390613382565b6001600160a01b03811661153d57604051632d618d8160e21b815260040160405180910390fd5b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526125e7908590612a2c565b60605f5f856001600160a01b0316856040516129d491906135c2565b5f60405180830381855af49150503d805f8114612a0c576040519150601f19603f3d011682016040523d82523d5f602084013e612a11565b606091505b5091509150612a2286838387612a98565b9695505050505050565b5f5f60205f8451602086015f885af180612a4b576040513d5f823e3d81fd5b50505f513d91508115612a62578060011415612a6f565b6001600160a01b0384163b155b156125e757604051635274afe760e01b81526001600160a01b0385166004820152602401610643565b60608315612b065782515f03612aff576001600160a01b0385163b612aff5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610643565b50816112ba565b6112ba8383815115612b1b5781518083602001fd5b8060405162461bcd60e51b815260040161064391906135d8565b60405180606001604052805f81526020015f6001600160401b03168152602001612b7060405180604001604052805f81526020015f81525090565b905290565b60405180604001604052806002906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b5f60608284031215612bc1575f5ffd5b50919050565b5f5f83601f840112612bd7575f5ffd5b5081356001600160401b03811115612bed575f5ffd5b602083019150836020828501011115612c04575f5ffd5b9250929050565b6001600160a01b0381168114610e30575f5ffd5b5f5f5f5f5f5f5f60e0888a031215612c35575f5ffd5b612c3f8989612bb1565b96506060880135955060808801356001600160401b03811115612c60575f5ffd5b612c6c8a828b01612bc7565b90965094505060a0880135612c8081612c0b565b925060c08801356001600160401b03811115612c9a575f5ffd5b612ca68a828b01612bc7565b989b979a50959850939692959293505050565b602080825282518282018190525f918401906040840190835b81811015612d3157835180516001600160401b0316845260208082015163ffffffff16818601526040808301516001600160a01b0390811691870191909152606092830151169185019190915290930192608090920191600101612cd2565b509095945050505050565b604080825283519082018190525f9060208501906060840190835b81811015612d75578351835260209384019390920191600101612d57565b5050838103602080860191909152855180835291810192508501905f5b81811015612db95782516001600160401b0316845260209384019390920191600101612d92565b50919695505050505050565b63ffffffff81168114610e30575f5ffd5b5f60208284031215612de6575f5ffd5b813561191681612dc5565b5f6080828403128015612e02575f5ffd5b509092915050565b5f5f60408385031215612e1b575f5ffd5b8235612e2681612dc5565b946020939093013593505050565b5f60208284031215612e44575f5ffd5b813561191681612c0b565b5f60208284031215612e5f575f5ffd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b0381118282101715612ea257612ea2612e66565b604052919050565b5f5f60408385031215612ebb575f5ffd5b8235612ec681612c0b565b915060208301356001600160401b03811115612ee0575f5ffd5b8301601f81018513612ef0575f5ffd5b80356001600160401b03811115612f0957612f09612e66565b612f1c601f8201601f1916602001612e7a565b818152866020838501011115612f30575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f5f5f5f60a08587031215612f62575f5ffd5b612f6c8686612bb1565b935060608501356001600160401b03811115612f86575f5ffd5b612f9287828801612bc7565b9094509250506080850135612fa681612c0b565b939692955090935050565b5f5f5f5f60408587031215612fc4575f5ffd5b84356001600160401b03811115612fd9575f5ffd5b8501601f81018713612fe9575f5ffd5b80356001600160401b03811115612ffe575f5ffd5b8760208260051b8401011115613012575f5ffd5b6020918201955093508501356001600160401b03811115613031575f5ffd5b61303d87828801612bc7565b95989497509550505050565b5f60608284031215613059575f5ffd5b6119168383612bb1565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156130b25780850481111561309657613096613063565b60018416156130a457908102905b60019390931c92800261307b565b935093915050565b5f826130c8575060016112a7565b816130d457505f6112a7565b81600181146130ea57600281146130f457613110565b60019150506112a7565b60ff84111561310557613105613063565b50506001821b6112a7565b5060208310610133831016604e8410600b8410161715613133575081810a6112a7565b61313f5f198484613077565b805f190482111561315257613152613063565b029392505050565b5f61191683836130ba565b634e487b7160e01b5f52603260045260245ffd5b6001600160401b0381168114610e30575f5ffd5b5f6020828403121561319d575f5ffd5b813561191681613179565b81356131b381613179565b6001600160401b03811690508154816001600160401b0319821617835560208401356131de81612dc5565b6bffffffff00000000000000008160401b16905080836bffffffffffffffffffffffff198416171784556040850135915061321882612c0b565b909117606091821b6bffffffffffffffffffffffff19161782555f9083013561324081612c0b565b60019290920180546001600160a01b0319166001600160a01b03909316929092179091555050565b808201808211156112a7576112a7613063565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b818103818111156112a7576112a7613063565b5f5f60408385031215613337575f5ffd5b82359150602083013561334981613179565b809150509250929050565b80820281158282048414176112a7576112a7613063565b5f6020828403121561337b575f5ffd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160401b0381811683821601908111156112a7576112a7613063565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6040815263ffffffff8351166040820152602083015160608201525f604084015160a0608084015261344f60e08401826133ec565b90506060850151603f198483030160a085015261346c82826133ec565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b5f604082840312156134a2575f5ffd5b604080519081016001600160401b03811182821017156134c4576134c4612e66565b604052825181526020928301519281019290925250919050565b5f60808284031280156134ef575f5ffd5b50604051606081016001600160401b038111828210171561351257613512612e66565b60405282518152602083015161352781613179565b60208201526135398460408501613492565b60408201529392505050565b6040810181835f5b600281101561356c57815183526020928301929091019060010161354d565b50505092915050565b5f60408284031215613585575f5ffd5b6119168383613492565b5f600182016135a0576135a0613063565b5060010190565b5f602082840312156135b7575f5ffd5b815161191681612c0b565b5f82518060208501845e5f920191825250919050565b602081525f61191660208301846133ec56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212206e892074aa352c6aa0b26f60dbba1648a75394e61ff89eb07c64b4d81a92620964736f6c634300081e0033","sourceMap":"1046:14141:98:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2977:56;;;;;;;;;;;;;:::i;:::-;;;160:25:124;;;148:2;133:18;2977:56:98;;;;;;;;4921:708:16;;;;;;:::i;:::-;;:::i;:::-;;1951:257:18;;;;;;;;;;-1:-1:-1;1951:257:18;;;887:1:17;2112:50:124;;759:1:16;2193:2:124;2178:18;;2171:59;2085:18;1951:257:18;1942:294:124;10256:305:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;11472:501::-;;;;;;;;;;;;;:::i;10683:445::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;5204:124::-;;;;;;;;;;-1:-1:-1;5204:124:98;;;;;:::i;:::-;;:::i;6418:755::-;;;;;;;;;;-1:-1:-1;6418:755:98;;;;;:::i;:::-;;:::i;3028:202:15:-;;;;;;;;;;-1:-1:-1;3028:202:15;;;;;:::i;:::-;;:::i;3408:195:62:-;;;;;;;;;;-1:-1:-1;3408:195:62;;;;;:::i;:::-;;:::i;5334:121:98:-;;;;;;;;;;-1:-1:-1;5334:121:98;;;;;:::i;:::-;;:::i;3922:220:62:-;;;;;;:::i;:::-;;:::i;3027:131::-;;;;;;;;;;;;;:::i;4759:142:98:-;;;;;;;;;;-1:-1:-1;4759:142:98;;;;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;;;;7506:31:124;;;7488:50;;7476:2;7461:18;4759:142:98;7344:200:124;1035:46:15;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7742:32:124;;;7724:51;;7712:2;7697:18;1035:46:15;7549:232:124;7361:564:98;;;;;;;;;;-1:-1:-1;7361:564:98;;;;;:::i;:::-;;:::i;2085:101:56:-;;;;;;;;;;;;;:::i;4907:291:98:-;;;;;;;;;;-1:-1:-1;4907:291:98;;;;;:::i;:::-;;:::i;:::-;;;;-1:-1:-1;;;;;8031:31:124;;;8013:50;;8111:10;8099:23;;;8094:2;8079:18;;8072:51;-1:-1:-1;;;;;8159:32:124;;;8139:18;;;8132:60;;;;8228:32;8223:2;8208:18;;8201:60;8000:3;7985:19;4907:291:98;7786:481:124;4060:128:16;;;;;;;;;;-1:-1:-1;4060:128:16;;;;;:::i;:::-;;:::i;2566:216::-;;;;;;;;;;-1:-1:-1;2566:216:16;;;;;:::i;:::-;;:::i;:::-;;;9111:14:124;;9104:22;9086:41;;9074:2;9059:18;2566:216:16;8946:187:124;1462:85:56;;;;;;;;;;-1:-1:-1;1534:6:56;;-1:-1:-1;;;;;1534:6:56;1462:85;;9710:445:98;;;;;;;;;;-1:-1:-1;9710:445:98;;;;;:::i;:::-;;:::i;4622:131::-;;;;;;;;;;-1:-1:-1;4622:131:98;;;;;:::i;:::-;;:::i;2342:163:15:-;;;;;;;;;;-1:-1:-1;2342:163:15;;;;;:::i;:::-;2485:13;;2400:7;2485:13;;;926:26;2485:13;;;;;;;2342:163;5461:94:98;;;;;;;;;;;;;:::i;4327:217::-;;;;;;;;;;-1:-1:-1;4327:217:98;;;;;:::i;:::-;;:::i;4123:105:15:-;;;;;;;;;;-1:-1:-1;4123:105:15;;;;;:::i;:::-;;:::i;8291:1065:98:-;;;;;;:::i;:::-;;:::i;2335:198:56:-;;;;;;;;;;-1:-1:-1;2335:198:56;;;;;:::i;:::-;;:::i;3324:149:16:-;;;;;;;;;;-1:-1:-1;3324:149:16;;;;;:::i;:::-;;:::i;2977:56:98:-;216:25:110;104:1;216;:25;:::i;:::-;2977:56:98;:::o;4921:708:16:-;5234:8;-1:-1:-1;;;;;5226:31:16;5247:10;5226:31;5222:68;;5266:24;;-1:-1:-1;;;5266:24:16;;5279:10;5266:24;;;7724:51:124;7697:18;;5266:24:16;;;;;;;;5222:68;5426:14;;;;;;5390:32;;5407:14;;5426:7;5407:14;:::i;:::-;5390:16;:32::i;:::-;:50;5386:103;;5458:14;;;;:7;:14;:::i;:::-;5449:40;;-1:-1:-1;;;5449:40:16;;12266:10:124;12254:23;;;5449:40:16;;;12236:42:124;5474:14:16;;;;12294:18:124;;;12287:34;12209:18;;5449:40:16;12064:263:124;5386:103:16;5563:59;5574:7;5583:5;5590:8;;5600:9;5611:10;;5563;:59::i;:::-;4921:708;;;;;;;:::o;10256:305:98:-;10304:24;10340:20;10363:16;:14;:16::i;:::-;10403:12;;;:19;10340:39;;-1:-1:-1;10403:19:98;-1:-1:-1;;;;;10440:20:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10440:20:98;;-1:-1:-1;;10440:20:98;;;;;;;;;;;-1:-1:-1;10432:28:98;-1:-1:-1;10475:9:98;10470:85;10494:3;10490:1;:7;10470:85;;;10529:1;:12;;10542:1;10529:15;;;;;;;;:::i;:::-;;;;;;;;;;10518:26;;;;;;;;10529:15;;;;;;;10518:26;;-1:-1:-1;;;;;10518:26:98;;;;;-1:-1:-1;;;10518:26:98;;;;;;;;;;-1:-1:-1;;;;;;;;10518:26:98;;;;;;;;;;;;;;;;;;;;;;:8;;:5;;10524:1;;10518:8;;;;;;:::i;:::-;;;;;;;;;;:26;10499:3;;10470:85;;;;10330:231;;10256:305;:::o;11472:501::-;11529:23;11564:20;11587:16;:14;:16::i;:::-;11627:22;;11564:39;;-1:-1:-1;11613:11:98;11627:22;-1:-1:-1;;;;;11685:18:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11685:18:98;-1:-1:-1;11659:44:98;-1:-1:-1;11718:9:98;11713:89;11737:3;11733:1;:7;11713:89;;;11773:1;:15;;11789:1;11773:18;;;;;;;;:::i;:::-;;;;;;;;;11761:6;11768:1;11761:9;;;;;;;;:::i;:::-;;;;;;;;;;:30;11742:3;;11713:89;;;-1:-1:-1;11812:58:98;;;;;;;;;;-1:-1:-1;;11860:10:98;;;;11812:58;;11860:10;11812:58;;;;;;;;;;;;;;;;;;;;;;;;11898:68;11944:6;11952:13;11898:45;:68::i;:::-;11880:86;;11554:419;;;;11472:501;:::o;10683:445::-;10744:22;10768:27;10807:20;10830:16;:14;:16::i;:::-;10870:22;;10807:39;;-1:-1:-1;10870:22:98;-1:-1:-1;;;;;10910:18:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10910:18:98;;10902:26;;10965:3;-1:-1:-1;;;;;10952:17:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10952:17:98;-1:-1:-1;10938:31:98;-1:-1:-1;10984:9:98;10979:143;11003:3;10999:1;:7;10979:143;;;11038:1;:15;;11054:1;11038:18;;;;;;;;:::i;:::-;;;;;;;;;11027:5;11033:1;11027:8;;;;;;;;:::i;:::-;;;;;;:29;;;;;11087:1;:21;;11109:1;11087:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11087:24:98;11070:11;11082:1;11070:14;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11070:41:98;;;:14;;;;;;;;;;;:41;11008:3;;10979:143;;;;10797:331;;10683:445;;:::o;5204:124::-;5260:7;5286:16;:14;:16::i;:::-;:35;;;;;;;;:30;;;;;:35;;-1:-1:-1;5286:35:98;;;;;5204:124::o;6418:755::-;1355:13:56;:11;:13::i;:::-;6524:1:98::1;6499:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;6499:27:98::1;::::0;6495:54:::1;;6535:14;;-1:-1:-1::0;;;6535:14:98::1;;;;;;;;;;;6495:54;6585:1;6563:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;6563:24:98::1;::::0;6559:48:::1;;6596:11;;-1:-1:-1::0;;;6596:11:98::1;;;;;;;;;;;6559:48;6621:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;-1:-1:-1::0;;;;;6621:17:98::1;6637:1;6621:17:::0;6617:46:::1;;6647:16;;-1:-1:-1::0;;;6647:16:98::1;;;;;;;;;;;6617:46;6673:20;6696:16;:14;:16::i;:::-;6673:39:::0;-1:-1:-1;6726:15:98::1;::::0;::::1;:25;6742:8;::::0;;;::::1;::::0;::::1;;:::i;:::-;6726:25;;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;6726:25:98;;:30;6722:75:::1;;6788:8;::::0;;;::::1;::::0;::::1;;:::i;:::-;6765:32;::::0;-1:-1:-1;;;6765:32:98;;13022:10:124;13010:23;;;6765:32:98::1;::::0;::::1;12992:42:124::0;12965:18;;6765:32:98::1;12848:192:124::0;6722:75:98::1;216:25:110;104:1;216;:25;:::i;:::-;6811:22:98::0;;:36:::1;6807:69;;6856:20;;-1:-1:-1::0;;;6856:20:98::1;;;;;;;;;;;6807:69;6903:22:::0;;6935:23:::1;::::0;;::::1;::::0;;-1:-1:-1;6935:23:98;;;::::1;::::0;;;;::::1;::::0;;;6968:21;;::::1;:29:::0;;;;::::1;::::0;;;;;;;;::::1;::::0;::::1;;::::0;;;;;;::::1;;;;-1:-1:-1::0;;;;;6968:29:98::1;;::::0;;::::1;::::0;;7007:12:::1;::::0;;::::1;:23:::0;;;;::::1;::::0;;;;;;7025:4;;7007:23;;::::1;;;7025:4:::0;7007:23;::::1;:::i;:::-;-1:-1:-1::0;7068:9:98::1;::::0;-1:-1:-1;7068:5:98;7076:1:::1;7068:9;:::i;:::-;7040:15;::::0;::::1;:25;7056:8;::::0;;;::::1;::::0;::::1;;:::i;:::-;7040:25;;;;;;;;;;;;;;;:37;;;;7119:5;7109:4;:8;;;;;;;;;;:::i;:::-;7093:73;;;7126:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;7140:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;7152:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;7093:73;::::0;;-1:-1:-1;;;;;14521:31:124;;;14503:50;;-1:-1:-1;;;;;14589:32:124;;;14584:2;14569:18;;14562:60;14658:32;;14638:18;;;14631:60;14491:2;14476:18;7093:73:98::1;;;;;;;6485:688;;6418:755:::0;:::o;3028:202:15:-;1355:13:56;:11;:13::i;:::-;3167::15::1;::::0;::::1;3108:25;3167:13:::0;;;926:26;3167:13:::1;::::0;;;;;;;;:21;;;3203:20;;12236:42:124;;;12294:18;;12287:34;;;3203:20:15;;926:26;;3203:20:::1;::::0;;;;;;;::::1;3098:132;3028:202:::0;;:::o;3408:195:62:-;-1:-1:-1;;;;;1764:6:62;1747:23;1755:4;1747:23;1739:80;;;;-1:-1:-1;;;1739:80:62;;;;;;;:::i;:::-;1861:6;-1:-1:-1;;;;;1837:30:62;:20;-1:-1:-1;;;;;;;;;;;1557:65:59;-1:-1:-1;;;;;1557:65:59;;1478:151;1837:20:62;-1:-1:-1;;;;;1837:30:62;;1829:87;;;;-1:-1:-1;;;1829:87:62;;;;;;;:::i;:::-;3489:36:::1;3507:17;3489;:36::i;:::-;3576:12;::::0;;3586:1:::1;3576:12:::0;;;::::1;::::0;::::1;::::0;;;3535:61:::1;::::0;3557:17;;3576:12;3535:21:::1;:61::i;:::-;3408:195:::0;:::o;5334:121:98:-;5389:7;5415:16;:14;:16::i;:::-;:25;;5441:6;5415:33;;;;;;;:::i;:::-;;;;5334:121;-1:-1:-1;;5334:121:98:o;3922:220:62:-;-1:-1:-1;;;;;1764:6:62;1747:23;1755:4;1747:23;1739:80;;;;-1:-1:-1;;;1739:80:62;;;;;;;:::i;:::-;1861:6;-1:-1:-1;;;;;1837:30:62;:20;-1:-1:-1;;;;;;;;;;;1557:65:59;-1:-1:-1;;;;;1557:65:59;;1478:151;1837:20:62;-1:-1:-1;;;;;1837:30:62;;1829:87;;;;-1:-1:-1;;;1829:87:62;;;;;;;:::i;:::-;4037:36:::1;4055:17;4037;:36::i;:::-;4083:52;4105:17;4124:4;4130;4083:21;:52::i;:::-;3922:220:::0;;:::o;3027:131::-;3105:7;2190:4;-1:-1:-1;;;;;2199:6:62;2182:23;;2174:92;;;;-1:-1:-1;;;2174:92:62;;15730:2:124;2174:92:62;;;15712:21:124;15769:2;15749:18;;;15742:30;15808:34;15788:18;;;15781:62;15879:26;15859:18;;;15852:54;15923:19;;2174:92:62;15528:420:124;2174:92:62;-1:-1:-1;;;;;;;;;;;;3027:131:62;:::o;4759:142:98:-;4825:6;4850:16;:14;:16::i;:::-;:36;;4887:6;4850:44;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4850:44:98;4843:51;;4759:142;;;:::o;7361:564::-;1355:13:56;:11;:13::i;:::-;7465:1:98::1;7440:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;7440:27:98::1;::::0;7436:54:::1;;7476:14;;-1:-1:-1::0;;;7476:14:98::1;;;;;;;;;;;7436:54;7526:1;7504:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;-1:-1:-1::0;;;;;7504:24:98::1;::::0;7500:48:::1;;7537:11;;-1:-1:-1::0;;;7537:11:98::1;;;;;;;;;;;7500:48;7562:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;-1:-1:-1::0;;;;;7562:17:98::1;7578:1;7562:17:::0;7558:46:::1;;7588:16;;-1:-1:-1::0;;;7588:16:98::1;;;;;;;;;;;7558:46;7615:20;7638:16;:14;:16::i;:::-;7615:39:::0;-1:-1:-1;7664:11:98::1;7678:15;::::0;::::1;7664:11:::0;7694:8:::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;7678:25;;;;;;;;;;;;;;;;7664:39;;7717:3;7724:1;7717:8:::0;7713:49:::1;;7753:8;::::0;;;::::1;::::0;::::1;;:::i;:::-;7734:28;::::0;-1:-1:-1;;;7734:28:98;;13022:10:124;13010:23;;;7734:28:98::1;::::0;::::1;12992:42:124::0;12965:18;;7734:28:98::1;12848:192:124::0;7713:49:98::1;7773:13;7789:7;7795:1;7789:3:::0;:7:::1;:::i;:::-;7773:23;;7828:4;7806:1;:12;;7819:5;7806:19;;;;;;;;:::i;:::-;;;;;;;;;;;:26;;;;;;:::i;:::-;-1:-1:-1::0;7871:5:98;;-1:-1:-1;7861:8:98::1;::::0;;;::::1;::::0;::::1;;:::i;:::-;7848:70;;;7878:12;;::::0;::::1;:4:::0;:12:::1;:::i;:::-;7892:10;::::0;;;::::1;::::0;::::1;;:::i;:::-;7904:13;::::0;;;::::1;::::0;::::1;;:::i;:::-;7848:70;::::0;;-1:-1:-1;;;;;14521:31:124;;;14503:50;;-1:-1:-1;;;;;14589:32:124;;;14584:2;14569:18;;14562:60;14658:32;;14638:18;;;14631:60;14491:2;14476:18;7848:70:98::1;;;;;;;7426:499;;;7361:564:::0;:::o;2085:101:56:-;1355:13;:11;:13::i;:::-;2149:30:::1;2176:1;2149:18;:30::i;:::-;2085:101::o:0;4907:291:98:-;4988:14;5004:10;5016:16;5034:13;5063:22;5088:16;:14;:16::i;:::-;:27;;5116:6;5088:35;;;;;;;;:::i;:::-;;;;;;;;;;;;;;5141:12;;;5180:10;;;;-1:-1:-1;;;;;5141:12:98;;;-1:-1:-1;;;5155:8:98;;;;;-1:-1:-1;;;;5165:13:98;;;-1:-1:-1;;;;;5165:13:98;;;;-1:-1:-1;5180:10:98;;-1:-1:-1;4907:291:98;-1:-1:-1;;;4907:291:98:o;4060:128:16:-;4149:12;4060:128;;;;;:::o;2566:216::-;-1:-1:-1;;;;;2751:24:16;;2770:4;2751:24;2566:216;;;;;;;:::o;9710:445:98:-;9837:22;9879;;;9875:52;;9910:17;;-1:-1:-1;;;9910:17:98;;;;;;;;;;;9875:52;9937:20;9960:9;;9937:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10007:25:98;;9937:32;;-1:-1:-1;9937:32:98;10007:25;;-1:-1:-1;9937:32:98;;-1:-1:-1;10030:1:98;;-1:-1:-1;10007:25:98;;16266::124;;;16339:4;16327:17;16322:2;16307:18;;16300:45;16254:2;16239:18;;16086:265;10007:25:98;;;;-1:-1:-1;;10007:25:98;;;;;;;;;;-1:-1:-1;10059:89:98;10075:10;;10007:25;10101:7;10075:10;-1:-1:-1;;;;;10110:37:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;10110:37:98;;;;;;;;;;;;;;;;10059:15;:89::i;:::-;10042:106;9710:445;-1:-1:-1;;;;;;;9710:445:98:o;4622:131::-;4682:7;4708:16;:14;:16::i;:::-;:38;;4739:6;;4708:38;;;;;;:::i;:::-;;;;;;;;;4701:45;;4622:131;;;:::o;5461:94::-;5500:6;5525:16;:14;:16::i;:::-;:23;;;-1:-1:-1;;;;;5525:23:98;;5461:94;-1:-1:-1;5461:94:98:o;4327:217::-;3279:19:61;3302:13;;;;;;3301:14;;3347:34;;;;-1:-1:-1;3365:12:61;;3380:1;3365:12;;;;:16;3347:34;3346:108;;;-1:-1:-1;3426:4:61;1713:19:67;:23;;;3387:66:61;;-1:-1:-1;3436:12:61;;;;;:17;3387:66;3325:201;;;;-1:-1:-1;;;3325:201:61;;16558:2:124;3325:201:61;;;16540:21:124;16597:2;16577:18;;;16570:30;16636:34;16616:18;;;16609:62;-1:-1:-1;;;16687:18:124;;;16680:44;16741:19;;3325:201:61;16356:410:124;3325:201:61;3536:12;:16;;-1:-1:-1;;3536:16:61;3551:1;3536:16;;;3562:65;;;;3596:13;:20;;-1:-1:-1;;3596:20:61;;;;;3562:65;4396:16:98::1;:14;:16::i;:::-;4422:21;4434:8;4422:11;:21::i;:::-;4453:24;:22;:24::i;:::-;4487:12;:10;:12::i;:::-;4509:28;4528:8;4509:18;:28::i;:::-;3651:14:61::0;3647:99;;;3697:5;3681:21;;-1:-1:-1;;3681:21:61;;;3721:14;;-1:-1:-1;16923:36:124;;3721:14:61;;16911:2:124;16896:18;3721:14:61;;;;;;;3269:483;4327:217:98;:::o;4123:105:15:-;1355:13:56;:11;:13::i;:::-;4190:31:15::1;::::0;-1:-1:-1;;;4190:31:15;;-1:-1:-1;;;;;7742:32:124;;;4190:31:15::1;::::0;::::1;7724:51:124::0;4190:8:15::1;:20;::::0;::::1;::::0;7697:18:124;;4190:31:15::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4123:105:::0;:::o;8291:1065:98:-;8418:1;8397:22;;;8393:52;;8428:17;;-1:-1:-1;;;8428:17:98;;;;;;;;;;;8393:52;8455:27;8485:26;:24;:26::i;:::-;8455:56;;8521:20;8544:9;;8521:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8521:32:98;;-1:-1:-1;8611:10:98;;-1:-1:-1;;;;;;;;8592:37:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;8592:37:98;;;;;;;;;;;;;;;;8563:66;;8639:22;8664:55;8680:10;;8692:3;:11;;;8705:7;8714:4;8664:15;:55::i;:::-;8639:80;;8746:14;8734:9;:26;8730:83;;;8769:44;;-1:-1:-1;;;8769:44:98;;8787:9;8769:44;;;17144:25:124;17185:18;;;17178:34;;;17117:18;;8769:44:98;16970:248:124;8730:83:98;8823:14;8840:26;8852:14;8840:9;:26;:::i;:::-;8823:43;;8903:3;:14;;;8877:16;:14;:16::i;:::-;:23;;:40;;-1:-1:-1;;8877:40:98;-1:-1:-1;;;;;8877:40:98;;;;;;;;;;-1:-1:-1;8928:138:98;8948:21;;;8928:138;;;8990:65;8998:10;;9009:1;8998:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;9013:3;:11;;;9026:7;9035:4;9040:1;9035:7;;;;;;;;:::i;:::-;;;;;;;9044:10;8990:7;:65::i;:::-;-1:-1:-1;8971:3:98;;8928:138;;;-1:-1:-1;9080:11:98;;9076:152;;9125:34;;9108:12;;9125:10;;9148:6;;9108:12;9125:34;9108:12;9125:34;9148:6;9125:10;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9107:52;;;9178:7;9173:44;;9194:23;;-1:-1:-1;;;9194:23:98;;;;;160:25:124;;;133:18;;9194:23:98;14:177:124;9173:44:98;9093:135;9076:152;9287:3;:14;;;-1:-1:-1;;;;;9243:106:98;9266:3;:19;;;9243:106;9303:3;:12;;;9317:3;:31;;;9243:106;;;;;;;:::i;:::-;;;;;;;;8383:973;;;;;8291:1065;;;;:::o;2335:198:56:-;1355:13;:11;:13::i;:::-;-1:-1:-1;;;;;2423:22:56;::::1;2415:73;;;::::0;-1:-1:-1;;;2415:73:56;;17635:2:124;2415:73:56::1;::::0;::::1;17617:21:124::0;17674:2;17654:18;;;17647:30;17713:34;17693:18;;;17686:62;-1:-1:-1;;;17764:18:124;;;17757:36;17810:19;;2415:73:56::1;17433:402:124::0;2415:73:56::1;2498:28;2517:8;2498:18;:28::i;3324:149:16:-:0;3406:4;3453:13;;;;;;3429:20;;3435:13;;3453:6;3435:13;:::i;3429:20::-;:37;;3324:149;-1:-1:-1;;3324:149:16:o;3528:257:15:-;3691:13;;;3598:7;3691:13;;;926:26;3691:13;;;;;;;;;3714:43;;3745:12;;-1:-1:-1;;;3745:12:15;;13022:10:124;13010:23;;3745:12:15;;;12992:42:124;12965:18;;3745:12:15;12848:192:124;3714:43:15;3774:4;3528:257;-1:-1:-1;;;3528:257:15:o;14118:870:98:-;14268:20;14291:16;:14;:16::i;:::-;14268:39;-1:-1:-1;14317:11:98;14331:15;;;14317:11;14347:13;;;;:6;:13;:::i;:::-;14331:30;;;;;;;;;;;;;;;;14317:44;;14375:3;14382:1;14375:8;14371:54;;14411:13;;;;:6;:13;:::i;14371:54::-;3165:2;14440:41;;14436:90;;14490:36;;-1:-1:-1;;;14490:36:98;;;;;160:25:124;;;133:18;;14490:36:98;14:177:124;14436:90:98;14538:20;;14588:38;;;;14599:7;14588:38;:::i;:::-;14537:89;;-1:-1:-1;14537:89:98;-1:-1:-1;14636:13:98;14652:7;14658:1;14652:3;:7;:::i;:::-;14636:23;;14669;14695:1;:21;;14717:5;14695:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14695:28:98;14669:54;;14758:16;-1:-1:-1;;;;;14737:37:98;:17;-1:-1:-1;;;;;14737:37:98;;14733:74;;14790:7;;;;;;;;14733:74;14841:12;14816:1;:15;;14832:5;14816:22;;;;;;;;:::i;:::-;;;;;;;;:37;;;;14894:17;14863:1;:21;;14885:5;14863:28;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:48;;;;;-1:-1:-1;;;;;14863:48:98;;;;;-1:-1:-1;;;;;14863:48:98;;;;;;14961:5;14946:6;:13;;;;;;;;;;:::i;:::-;14926:55;;;14968:12;14926:55;;;;160:25:124;;148:2;133:18;;14:177;14926:55:98;;;;;;;;14258:730;;;;;;14118:870;;;;;;;:::o;3523:206::-;3618:48;;;;;;;;;;;;-1:-1:-1;;;3618:48:98;;;;;1852:57:92;3571:20:98;1839:71:92;;;3571:20:98;1931:37:92;3618:48:98;1707:277:92;837:917:111;1022:13;;983:7;;1049:10;;;1045:69;;-1:-1:-1;;1082:21:111;;;;1075:28;;1045:69;1124:13;1147:430;1162:1;1154:5;:9;1147:430;;;1179:17;1214:1;1200:9;:5;1214:1;1200:9;:::i;:::-;1199:16;;;-1:-1:-1;1234:9:111;1229:244;1253:9;1249:1;:13;1229:244;;;1287:12;1302:6;1309:5;1313:1;1309;:5;:::i;:::-;1302:13;;;;;;;;:::i;:::-;;;;;;;1287:28;;1333:13;1362:5;1354:1;1350;:5;;;;:::i;:::-;:9;;1358:1;1350:9;:::i;:::-;:17;1349:57;;1391:8;1400:5;1391:15;;;;;;;:::i;:::-;;;;;1349:57;;;1371:6;1378:5;1382:1;1378;:5;:::i;:::-;:9;;1386:1;1378:9;:::i;:::-;1371:17;;;;;;;;:::i;:::-;;;;;;;1349:57;1333:73;;1436:22;1446:4;1452:5;1436:9;:22::i;:::-;1424:6;1431:1;1424:9;;;;;;;;:::i;:::-;;;;;;;;;;:34;-1:-1:-1;;1264:3:111;;1229:244;;;-1:-1:-1;1494:9:111;-1:-1:-1;1545:7:111;;1147:430;;;1587:12;1602:6;1609:1;1602:9;;;;;;;;:::i;:::-;;;;;;;1587:24;;1626:9;1638:5;1626:17;;1621:106;104:1:110;1645::111;:15;1621:106;;;1688:28;1698:4;1704:8;1713:1;1704:11;;;;;;;:::i;:::-;;;;;1688:9;:28::i;:::-;1681:35;-1:-1:-1;1662:3:111;;1621:106;;;-1:-1:-1;1743:4:111;837:917;-1:-1:-1;;;;;837:917:111:o;1620:130:56:-;1534:6;;-1:-1:-1;;;;;1534:6:56;965:10:68;1683:23:56;1675:68;;;;-1:-1:-1;;;1675:68:56;;18585:2:124;1675:68:56;;;18567:21:124;;;18604:18;;;18597:30;18663:34;18643:18;;;18636:62;18715:18;;1675:68:56;18383:356:124;4550:66:98;1355:13:56;:11;:13::i;2841:944:59:-;839:66;3257:59;;;3253:526;;;3332:37;3351:17;3332:18;:37::i;:::-;2841:944;;;:::o;3253:526::-;3433:17;-1:-1:-1;;;;;3404:61:59;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3404:63:59;;;;;;;;-1:-1:-1;;3404:63:59;;;;;;;;;;;;:::i;:::-;;;3400:302;;3631:56;;-1:-1:-1;;;3631:56:59;;19181:2:124;3631:56:59;;;19163:21:124;19220:2;19200:18;;;19193:30;19259:34;19239:18;;;19232:62;-1:-1:-1;;;19310:18:124;;;19303:44;19364:19;;3631:56:59;18979:410:124;3400:302:59;-1:-1:-1;;;;;;;;;;;3517:28:59;;3509:82;;;;-1:-1:-1;;;3509:82:59;;19596:2:124;3509:82:59;;;19578:21:124;19635:2;19615:18;;;19608:30;19674:34;19654:18;;;19647:62;-1:-1:-1;;;19725:18:124;;;19718:39;19774:19;;3509:82:59;19394:405:124;3509:82:59;3468:138;3715:53;3733:17;3752:4;3758:9;3715:17;:53::i;2687:187:56:-;2779:6;;;-1:-1:-1;;;;;2795:17:56;;;-1:-1:-1;;;;;;2795:17:56;;;;;;;2827:40;;2779:6;;;2795:17;2779:6;;2827:40;;2760:16;;2827:40;2750:124;2687:187;:::o;13089:721:98:-;13277:22;13311:20;13334:16;:14;:16::i;:::-;13311:39;-1:-1:-1;13374:10:98;13360:11;13401:403;13425:3;13421:1;:7;13401:403;;;13449:10;13462;;13473:1;13462:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;13493:20;;;;;;;:15;;;:20;;;;;;13449:26;;-1:-1:-1;13493:25:98;13489:61;;13527:23;;-1:-1:-1;;;13527:23:98;;13022:10:124;13010:23;;13527::98;;;12992:42:124;12965:18;;13527:23:98;12848:192:124;13489:61:98;13564:23;13590:36;13597:3;13602:7;13611;13620:5;13590:6;:36::i;:::-;13564:62;;13644:3;:14;;;13662:1;13644:19;13640:81;;13706:14;;;;13672:49;;-1:-1:-1;;;13672:49:98;;12266:10:124;12254:23;;13672:49:98;;;12236:42:124;12294:18;;;12287:34;;;;12209:18;;13672:49:98;12064:263:124;13640:81:98;13745:3;13735:4;13740:1;13735:7;;;;;;;;:::i;:::-;;;;;;;;;;:13;13780;;13762:31;;;;:::i;:::-;;;13435:369;;13430:3;;;;;13401:403;;;;13301:509;;13089:721;;;;;;;:::o;1024:95:56:-;5374:13:61;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:61;;;;;;;:::i;:::-;1086:26:56::1;:24;:26::i;1456:189:18:-:0;5374:13:61;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:61;;;;;;;:::i;:::-;1532:26:18::1;1548:9;1532:15;:26::i;:::-;1568:31;:29;:31::i;:::-;1609:29;2290:67:62::0;5374:13:61;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:61;;;;;;;:::i;5620:319:98:-;5374:13:61;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:61;;;;;;;:::i;:::-;5678:20:98::1;5701:16;:14;:16::i;:::-;5678:39;;5727:44;5774:43;:41;:43::i;:::-;5727:90:::0;-1:-1:-1;5832:9:98::1;5827:106;5851:19;5847:1;:23;5827:106;;;5907:12;5920:1;5907:15;;;;;;;:::i;:::-;;;;;5891:1;:10;;5902:1;5891:13;;;;;;;:::i;:::-;;:31:::0;5872:3:::1;;5827:106;;12094:869:::0;12153:27;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12153:27:98;12192:20;12215:16;:14;:16::i;:::-;12255:22;;12192:39;;-1:-1:-1;12255:22:98;-1:-1:-1;;;;;12302:18:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12302:18:98;-1:-1:-1;12287:33:98;;12377:3;-1:-1:-1;;;;;12364:17:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12364:17:98;-1:-1:-1;12330:31:98;;;:51;12391:23;12431:3;-1:-1:-1;;;;;12417:18:98;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12417:18:98;-1:-1:-1;12391:44:98;-1:-1:-1;12450:9:98;12445:233;12469:3;12465:1;:7;12445:233;;;12493:12;12508:1;:15;;12524:1;12508:18;;;;;;;;:::i;:::-;;;;;;;;;12493:33;;12558:4;12540:3;:12;;;12553:1;12540:15;;;;;;;;:::i;:::-;;;;;;:22;;;;;12588:4;12576:6;12583:1;12576:9;;;;;;;;:::i;:::-;;;;;;:16;;;;;12643:1;:21;;12665:1;12643:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12643:24:98;12606:3;:31;;;12638:1;12606:34;;;;;;;;:::i;:::-;-1:-1:-1;;;;;12606:61:98;;;:34;;;;;;;;;;;:61;-1:-1:-1;12474:3:98;;12445:233;;;-1:-1:-1;12688:58:98;;;;;;;;;;-1:-1:-1;;12736:10:98;;;;12688:58;;12736:10;12688:58;;;;;;;;;;;;;;;;;;;;;;;;12778:68;12824:6;12832:13;12778:45;:68::i;:::-;12756:19;;;:90;12873:8;;;;:12;;-1:-1:-1;;;;;12873:8:98;;:12;:::i;:::-;-1:-1:-1;;;;;12856:29:98;:14;;;:29;;;12920:19;;;;;12909:47;;;;12856:29;12909:47;;20852:25:124;;;-1:-1:-1;;;;;20913:31:124;20908:2;20893:18;;20886:59;20840:2;20825:18;;20680:271;12909:47:98;;;;;;;;;;;;;12895:3;:11;;:61;;;;12182:781;;;;12094:869;:::o;3700:766:17:-;3901:31;;:::i;:::-;4066:20;4089:26;4100:4;:14;;;4089:10;:26::i;:::-;4129:15;;;;4066:49;;-1:-1:-1;4129:19:17;4125:53;;4150:28;4162:4;:15;;;4150:11;:28::i;:::-;4267:8;-1:-1:-1;;;;;4267:13:17;;4289:12;4321:92;;;;;;;;4337:7;4321:92;;;;;;4346:25;4363:7;4346:16;:25::i;:::-;4321:92;;;;4373:8;4321:92;;;;4383:8;4321:92;;;;4411:1;4393:4;:15;;;:19;4321:92;;;;;4431:14;4267:192;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2188:214:111:-;2259:7;2278:24;;:::i;:::-;2312:16;;;:9;2338;;:17;;;2372:23;;-1:-1:-1;;;2372:23:111;;:10;;:15;;:23;;2312:6;;2372:23;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1720:281:59:-;-1:-1:-1;;;;;1713:19:67;;;1793:106:59;;;;-1:-1:-1;;;1793:106:59;;24465:2:124;1793:106:59;;;24447:21:124;24504:2;24484:18;;;24477:30;24543:34;24523:18;;;24516:62;-1:-1:-1;;;24594:18:124;;;24587:43;24647:19;;1793:106:59;24263:409:124;1793:106:59;-1:-1:-1;;;;;;;;;;;1909:85:59;;-1:-1:-1;;;;;;1909:85:59;-1:-1:-1;;;;;1909:85:59;;;;;;;;;;1720:281::o;2393:276::-;2501:29;2512:17;2501:10;:29::i;:::-;2558:1;2544:4;:11;:15;:28;;;;2563:9;2544:28;2540:123;;;2588:64;2628:17;2647:4;2588:39;:64::i;:::-;;2393:276;;;:::o;2550:391:17:-;-1:-1:-1;;;;;;;;;;;;;;;;;2771:8:17;-1:-1:-1;;;;;2771:14:17;;2803:86;;;;;;;;2819:7;2803:86;;;;;;2828:25;2845:7;2828:16;:25::i;:::-;2803:86;;;;2855:8;2803:86;;;;2865:8;2803:86;;;;2875:13;2803:86;;;;;2915:4;2771:163;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2752:182;2550:391;-1:-1:-1;;;;;2550:391:17:o;1125:111:56:-;5374:13:61;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:61;;;;;;;:::i;:::-;1197:32:56::1;965:10:68::0;1197:18:56::1;:32::i;1787:123:15:-:0;5374:13:61;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:61;;;;;;;:::i;:::-;1867:36:15::1;1893:9;1867:25;:36::i;1848:261:111:-:0;1901:40;;:::i;:::-;1967:1;1953:15;;1995:1;1978:125;104:1:110;1998::111;:16;1978:125;;2049:43;2059:8;2068:5;2072:1;2068;:5;:::i;:::-;2059:15;;;;;;;:::i;:::-;;;;;2076:8;2085:5;2089:1;2085;:5;:::i;:::-;2076:15;;;;;;;:::i;2049:43::-;2035:8;2044:1;2035:11;;;;;;;:::i;:::-;;;;:57;2016:3;;;:::i;:::-;;;1978:125;;;;1848:261;:::o;14994:191:98:-;15061:17;15106:10;15094:9;:22;15090:61;;;15125:26;;-1:-1:-1;;;15125:26:98;;15141:9;15125:26;;;160:25:124;133:18;;15125:26:98;14:177:124;5730:410:17;5883:15;5901:8;-1:-1:-1;;;;;5901:16:17;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5883:36;-1:-1:-1;;;;;;5933:21:17;;5929:54;;5963:20;;-1:-1:-1;;;5963:20:17;;;;;;;;;;;5929:54;6057:76;-1:-1:-1;;;;;6057:32:17;;6090:10;6110:8;6121:11;6057:32;:76::i;2107:152:59:-;2173:37;2192:17;2173:18;:37::i;:::-;2225:27;;-1:-1:-1;;;;;2225:27:59;;;;;;;;2107:152;:::o;6685:198:67:-;6768:12;6799:77;6820:6;6828:4;6799:77;;;;;;;;;;;;;;;;;:20;:77::i;1916:191:15:-;5374:13:61;;;;;;;5366:69;;;;-1:-1:-1;;;5366:69:61;;;;;;;:::i;:::-;-1:-1:-1;;;;;2010:23:15;::::1;2006:53;;2042:17;;-1:-1:-1::0;;;2042:17:15::1;;;;;;;;;;;1618:188:88::0;1745:53;;;-1:-1:-1;;;;;25556:32:124;;;1745:53:88;;;25538:51:124;25625:32;;25605:18;;;25598:60;25674:18;;;;25667:34;;;1745:53:88;;;;;;;;;;25511:18:124;;;;1745:53:88;;;;;;;;-1:-1:-1;;;;;1745:53:88;-1:-1:-1;;;1745:53:88;;;1718:81;;1738:5;;1718:19;:81::i;7069:325:67:-;7210:12;7235;7249:23;7276:6;-1:-1:-1;;;;;7276:19:67;7296:4;7276:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7234:67;;;;7318:69;7345:6;7353:7;7362:10;7374:12;7318:26;:69::i;:::-;7311:76;7069:325;-1:-1:-1;;;;;;7069:325:67:o;8370:720:88:-;8450:18;8478:19;8616:4;8613:1;8606:4;8600:11;8593:4;8587;8583:15;8580:1;8573:5;8566;8561:60;8673:7;8663:176;;8717:4;8711:11;8762:16;8759:1;8754:3;8739:40;8808:16;8803:3;8796:29;8663:176;-1:-1:-1;;8916:1:88;8910:8;8866:16;;-1:-1:-1;8942:15:88;;:68;;8994:11;9009:1;8994:16;;8942:68;;;-1:-1:-1;;;;;8960:26:88;;;:31;8942:68;8938:146;;;9033:40;;-1:-1:-1;;;9033:40:88;;-1:-1:-1;;;;;7742:32:124;;9033:40:88;;;7724:51:124;7697:18;;9033:40:88;7549:232:124;7682:628:67;7862:12;7890:7;7886:418;;;7917:10;:17;7938:1;7917:22;7913:286;;-1:-1:-1;;;;;1713:19:67;;;8124:60;;;;-1:-1:-1;;;8124:60:67;;26220:2:124;8124:60:67;;;26202:21:124;26259:2;26239:18;;;26232:30;26298:31;26278:18;;;26271:59;26347:18;;8124:60:67;26018:353:124;8124:60:67;-1:-1:-1;8219:10:67;8212:17;;7886:418;8260:33;8268:10;8280:12;8991:17;;:21;8987:379;;9219:10;9213:17;9275:15;9262:10;9258:2;9254:19;9247:44;8987:379;9342:12;9335:20;;-1:-1:-1;;;9335:20:67;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;196:154:124:-;255:5;300:2;291:6;286:3;282:16;278:25;275:45;;;316:1;313;306:12;275:45;-1:-1:-1;338:6:124;196:154;-1:-1:-1;196:154:124:o;355:347::-;406:8;416:6;470:3;463:4;455:6;451:17;447:27;437:55;;488:1;485;478:12;437:55;-1:-1:-1;511:20:124;;-1:-1:-1;;;;;543:30:124;;540:50;;;586:1;583;576:12;540:50;623:4;615:6;611:17;599:29;;675:3;668:4;659:6;651;647:19;643:30;640:39;637:59;;;692:1;689;682:12;637:59;355:347;;;;;:::o;707:131::-;-1:-1:-1;;;;;782:31:124;;772:42;;762:70;;828:1;825;818:12;843:1094;985:6;993;1001;1009;1017;1025;1033;1086:3;1074:9;1065:7;1061:23;1057:33;1054:53;;;1103:1;1100;1093:12;1054:53;1126;1171:7;1160:9;1126:53;:::i;:::-;1116:63;-1:-1:-1;1248:2:124;1233:18;;1220:32;;-1:-1:-1;1327:3:124;1312:19;;1299:33;-1:-1:-1;;;;;1344:30:124;;1341:50;;;1387:1;1384;1377:12;1341:50;1426:58;1476:7;1467:6;1456:9;1452:22;1426:58;:::i;:::-;1503:8;;-1:-1:-1;1400:84:124;-1:-1:-1;;1590:3:124;1575:19;;1562:33;1604;1562;1604;:::i;:::-;1656:7;-1:-1:-1;1716:3:124;1701:19;;1688:33;-1:-1:-1;;;;;1733:32:124;;1730:52;;;1778:1;1775;1768:12;1730:52;1817:60;1869:7;1858:8;1847:9;1843:24;1817:60;:::i;:::-;843:1094;;;;-1:-1:-1;843:1094:124;;-1:-1:-1;843:1094:124;;;;1791:86;;-1:-1:-1;;;843:1094:124:o;2241:958::-;2487:2;2499:21;;;2569:13;;2472:18;;;2591:22;;;2439:4;;2670:15;;;2644:2;2629:18;;;2439:4;2713:460;2727:6;2724:1;2721:13;2713:460;;;2786:13;;2828:9;;-1:-1:-1;;;;;2824:34:124;2812:47;;2911:2;2903:11;;;2897:18;2917:10;2893:35;2879:12;;;2872:57;2981:2;2973:11;;;2967:18;-1:-1:-1;;;;;2963:44:124;;;2949:12;;;2942:66;;;;3062:4;3054:13;;;3048:20;3044:46;3028:14;;;3021:70;;;;3148:15;;;;3120:4;3111:14;;;;3004:1;2742:9;2713:460;;;-1:-1:-1;3190:3:124;;2241:958;-1:-1:-1;;;;;2241:958:124:o;3204:1168::-;3470:2;3482:21;;;3552:13;;3455:18;;;3574:22;;;3422:4;;3665;3653:17;;;3627:2;3612:18;;;3422:4;3698:173;3712:6;3709:1;3706:13;3698:173;;;3773:13;;3761:26;;3816:4;3844:17;;;;3807:14;;;;3734:1;3727:9;3698:173;;;-1:-1:-1;;3909:19:124;;;3902:4;3887:20;;;3880:49;;;;3979:13;;4001:21;;;4040:14;;;;-1:-1:-1;4079:17:124;;;4116:1;4126:218;4142:8;4137:3;4134:17;4126:218;;;4215:15;;-1:-1:-1;;;;;4211:40:124;4197:55;;4285:4;4274:16;;;;4315:19;;;;4170:1;4161:11;4126:218;;;-1:-1:-1;4361:5:124;;3204:1168;-1:-1:-1;;;;;;3204:1168:124:o;4377:121::-;4462:10;4455:5;4451:22;4444:5;4441:33;4431:61;;4488:1;4485;4478:12;4503:245;4561:6;4614:2;4602:9;4593:7;4589:23;4585:32;4582:52;;;4630:1;4627;4620:12;4582:52;4669:9;4656:23;4688:30;4712:5;4688:30;:::i;4753:234::-;4842:6;4902:3;4890:9;4881:7;4877:23;4873:33;4918:2;4915:22;;;4933:1;4930;4923:12;4915:22;-1:-1:-1;4972:9:124;;4753:234;-1:-1:-1;;4753:234:124:o;4992:365::-;5059:6;5067;5120:2;5108:9;5099:7;5095:23;5091:32;5088:52;;;5136:1;5133;5126:12;5088:52;5175:9;5162:23;5194:30;5218:5;5194:30;:::i;:::-;5243:5;5321:2;5306:18;;;;5293:32;;-1:-1:-1;;;4992:365:124:o;5362:247::-;5421:6;5474:2;5462:9;5453:7;5449:23;5445:32;5442:52;;;5490:1;5487;5480:12;5442:52;5529:9;5516:23;5548:31;5573:5;5548:31;:::i;5614:226::-;5673:6;5726:2;5714:9;5705:7;5701:23;5697:32;5694:52;;;5742:1;5739;5732:12;5694:52;-1:-1:-1;5787:23:124;;5614:226;-1:-1:-1;5614:226:124:o;5845:127::-;5906:10;5901:3;5897:20;5894:1;5887:31;5937:4;5934:1;5927:15;5961:4;5958:1;5951:15;5977:275;6048:2;6042:9;6113:2;6094:13;;-1:-1:-1;;6090:27:124;6078:40;;-1:-1:-1;;;;;6133:34:124;;6169:22;;;6130:62;6127:88;;;6195:18;;:::i;:::-;6231:2;6224:22;5977:275;;-1:-1:-1;5977:275:124:o;6257:900::-;6334:6;6342;6395:2;6383:9;6374:7;6370:23;6366:32;6363:52;;;6411:1;6408;6401:12;6363:52;6450:9;6437:23;6469:31;6494:5;6469:31;:::i;:::-;6519:5;-1:-1:-1;6575:2:124;6560:18;;6547:32;-1:-1:-1;;;;;6591:30:124;;6588:50;;;6634:1;6631;6624:12;6588:50;6657:22;;6710:4;6702:13;;6698:27;-1:-1:-1;6688:55:124;;6739:1;6736;6729:12;6688:55;6779:2;6766:16;-1:-1:-1;;;;;6797:6:124;6794:30;6791:56;;;6827:18;;:::i;:::-;6869:57;6916:2;6893:17;;-1:-1:-1;;6889:31:124;6922:2;6885:40;6869:57;:::i;:::-;6949:6;6942:5;6935:21;6997:7;6992:2;6983:6;6979:2;6975:15;6971:24;6968:37;6965:57;;;7018:1;7015;7008:12;6965:57;7073:6;7068:2;7064;7060:11;7055:2;7048:5;7044:14;7031:49;7125:1;7120:2;7111:6;7104:5;7100:18;7096:27;7089:38;7146:5;7136:15;;;;;6257:900;;;;;:::o;8272:669::-;8385:6;8393;8401;8409;8462:3;8450:9;8441:7;8437:23;8433:33;8430:53;;;8479:1;8476;8469:12;8430:53;8502;8547:7;8536:9;8502:53;:::i;:::-;8492:63;;8606:2;8595:9;8591:18;8578:32;-1:-1:-1;;;;;8625:6:124;8622:30;8619:50;;;8665:1;8662;8655:12;8619:50;8704:58;8754:7;8745:6;8734:9;8730:22;8704:58;:::i;:::-;8781:8;;-1:-1:-1;8678:84:124;-1:-1:-1;;8866:3:124;8851:19;;8838:33;8880:31;8838:33;8880:31;:::i;:::-;8272:669;;;;-1:-1:-1;8272:669:124;;-1:-1:-1;;8272:669:124:o;9346:918::-;9451:6;9459;9467;9475;9528:2;9516:9;9507:7;9503:23;9499:32;9496:52;;;9544:1;9541;9534:12;9496:52;9584:9;9571:23;-1:-1:-1;;;;;9609:6:124;9606:30;9603:50;;;9649:1;9646;9639:12;9603:50;9672:22;;9725:4;9717:13;;9713:27;-1:-1:-1;9703:55:124;;9754:1;9751;9744:12;9703:55;9794:2;9781:16;-1:-1:-1;;;;;9812:6:124;9809:30;9806:50;;;9852:1;9849;9842:12;9806:50;9907:7;9900:4;9890:6;9887:1;9883:14;9879:2;9875:23;9871:34;9868:47;9865:67;;;9928:1;9925;9918:12;9865:67;9959:4;9951:13;;;;-1:-1:-1;9983:6:124;-1:-1:-1;10027:20:124;;10014:34;-1:-1:-1;;;;;10060:32:124;;10057:52;;;10105:1;10102;10095:12;10057:52;10144:60;10196:7;10185:8;10174:9;10170:24;10144:60;:::i;:::-;9346:918;;;;-1:-1:-1;10223:8:124;-1:-1:-1;;;;9346:918:124:o;10269:235::-;10353:6;10406:2;10394:9;10385:7;10381:23;10377:32;10374:52;;;10422:1;10419;10412:12;10374:52;10445:53;10490:7;10479:9;10445:53;:::i;10509:127::-;10570:10;10565:3;10561:20;10558:1;10551:31;10601:4;10598:1;10591:15;10625:4;10622:1;10615:15;10641:375;10729:1;10747:5;10761:249;10782:1;10772:8;10769:15;10761:249;;;10832:4;10827:3;10823:14;10817:4;10814:24;10811:50;;;10841:18;;:::i;:::-;10891:1;10881:8;10877:16;10874:49;;;10905:16;;;;10874:49;10988:1;10984:16;;;;;10944:15;;10761:249;;;10641:375;;;;;;:::o;11021:902::-;11070:5;11100:8;11090:80;;-1:-1:-1;11141:1:124;11155:5;;11090:80;11189:4;11179:76;;-1:-1:-1;11226:1:124;11240:5;;11179:76;11271:4;11289:1;11284:59;;;;11357:1;11352:174;;;;11264:262;;11284:59;11314:1;11305:10;;11328:5;;;11352:174;11389:3;11379:8;11376:17;11373:43;;;11396:18;;:::i;:::-;-1:-1:-1;;11452:1:124;11438:16;;11511:5;;11264:262;;11610:2;11600:8;11597:16;11591:3;11585:4;11582:13;11578:36;11572:2;11562:8;11559:16;11554:2;11548:4;11545:12;11541:35;11538:77;11535:203;;;-1:-1:-1;11647:19:124;;;11723:5;;11535:203;11770:42;-1:-1:-1;;11795:8:124;11789:4;11770:42;:::i;:::-;11848:6;11844:1;11840:6;11836:19;11827:7;11824:32;11821:58;;;11859:18;;:::i;:::-;11897:20;;11021:902;-1:-1:-1;;;11021:902:124:o;11928:131::-;11988:5;12017:36;12044:8;12038:4;12017:36;:::i;12332:127::-;12393:10;12388:3;12384:20;12381:1;12374:31;12424:4;12421:1;12414:15;12448:4;12445:1;12438:15;12464:129;-1:-1:-1;;;;;12542:5:124;12538:30;12531:5;12528:41;12518:69;;12583:1;12580;12573:12;12598:245;12656:6;12709:2;12697:9;12688:7;12684:23;12680:32;12677:52;;;12725:1;12722;12715:12;12677:52;12764:9;12751:23;12783:30;12807:5;12783:30;:::i;13045:1123::-;13217:5;13204:19;13232:32;13256:7;13232:32;:::i;:::-;-1:-1:-1;;;;;13287:7:124;13283:32;13273:42;;13340:4;13334:11;13404:2;-1:-1:-1;;;;;13378:23:124;13374:2;13370:32;13367:40;13361:4;13354:54;13456:2;13449:5;13445:14;13432:28;13469:32;13493:7;13469:32;:::i;:::-;13548:26;13538:7;13534:2;13530:16;13526:49;13510:65;;13650:8;13645:2;13615:26;13611:31;13607:2;13603:40;13600:48;13597:62;13591:4;13584:76;13708:2;13701:5;13697:14;13684:28;13669:43;;13721:33;13746:7;13721:33;:::i;:::-;13779:16;;;13805:2;13801:16;;;-1:-1:-1;;13797:54:124;13776:76;13763:90;;13881:1;;13919:14;;13906:28;13943:33;13906:28;13943:33;:::i;:::-;14040:1;14030:12;;;;14073:13;;-1:-1:-1;;;;;;14069:56:124;-1:-1:-1;;;;;14127:33:124;;;14066:95;;;;14051:111;;;-1:-1:-1;;13045:1123:124:o;14173:125::-;14238:9;;;14259:10;;;14256:36;;;14272:18;;:::i;14702:408::-;14904:2;14886:21;;;14943:2;14923:18;;;14916:30;14982:34;14977:2;14962:18;;14955:62;-1:-1:-1;;;15048:2:124;15033:18;;15026:42;15100:3;15085:19;;14702:408::o;15115:::-;15317:2;15299:21;;;15356:2;15336:18;;;15329:30;15395:34;15390:2;15375:18;;15368:62;-1:-1:-1;;;15461:2:124;15446:18;;15439:42;15513:3;15498:19;;15115:408::o;15953:128::-;16020:9;;;16041:11;;;16038:37;;;16055:18;;:::i;17840:365::-;17907:6;17915;17968:2;17956:9;17947:7;17943:23;17939:32;17936:52;;;17984:1;17981;17974:12;17936:52;18029:23;;;-1:-1:-1;18128:2:124;18113:18;;18100:32;18141;18100;18141;:::i;:::-;18192:7;18182:17;;;17840:365;;;;;:::o;18210:168::-;18283:9;;;18314;;18331:15;;;18325:22;;18311:37;18301:71;;18352:18;;:::i;18744:230::-;18814:6;18867:2;18855:9;18846:7;18842:23;18838:32;18835:52;;;18883:1;18880;18873:12;18835:52;-1:-1:-1;18928:16:124;;18744:230;-1:-1:-1;18744:230:124:o;20072:407::-;20274:2;20256:21;;;20313:2;20293:18;;;20286:30;20352:34;20347:2;20332:18;;20325:62;-1:-1:-1;;;20418:2:124;20403:18;;20396:41;20469:3;20454:19;;20072:407::o;20484:191::-;-1:-1:-1;;;;;20552:26:124;;;20580;;;20548:59;;20619:27;;20616:53;;;20649:18;;:::i;20956:288::-;20997:3;21035:5;21029:12;21062:6;21057:3;21050:19;21118:6;21111:4;21104:5;21100:16;21093:4;21088:3;21084:14;21078:47;21170:1;21163:4;21154:6;21149:3;21145:16;21141:27;21134:38;21233:4;21226:2;21222:7;21217:2;21209:6;21205:15;21201:29;21196:3;21192:39;21188:50;21181:57;;;20956:288;;;;:::o;21249:887::-;21470:2;21459:9;21452:21;21528:10;21519:6;21513:13;21509:30;21504:2;21493:9;21489:18;21482:58;21594:4;21586:6;21582:17;21576:24;21571:2;21560:9;21556:18;21549:52;21433:4;21648:2;21640:6;21636:15;21630:22;21689:4;21683:3;21672:9;21668:19;21661:33;21717:51;21763:3;21752:9;21748:19;21734:12;21717:51;:::i;:::-;21703:65;;21817:2;21809:6;21805:15;21799:22;21891:2;21887:7;21875:9;21867:6;21863:22;21859:36;21852:4;21841:9;21837:20;21830:66;21919:40;21952:6;21936:14;21919:40;:::i;:::-;22028:3;22016:16;;;;22010:23;22003:31;21996:39;21990:3;21975:19;;21968:68;-1:-1:-1;;;;;;;;22097:32:124;;;;22090:4;22075:20;;;22068:62;21905:54;21249:887::o;22141:602::-;22211:5;22259:4;22247:9;22242:3;22238:19;22234:30;22231:50;;;22277:1;22274;22267:12;22231:50;22330:4;22324:11;;;22362:17;;-1:-1:-1;;;;;22394:34:124;;22430:22;;;22391:62;22388:88;;;22456:18;;:::i;:::-;22492:4;22485:24;22578:16;;22603:23;;22692:2;22677:18;;;22671:25;22712:15;;;22705:32;;;;-1:-1:-1;22527:6:124;22141:602;-1:-1:-1;22141:602:124:o;22748:791::-;22851:6;22911:3;22899:9;22890:7;22886:23;22882:33;22927:2;22924:22;;;22942:1;22939;22932:12;22924:22;-1:-1:-1;23011:2:124;23005:9;23053:4;23041:17;;-1:-1:-1;;;;;23073:34:124;;23109:22;;;23070:62;23067:88;;;23135:18;;:::i;:::-;23171:2;23164:22;23227:16;;23252:21;;23318:2;23303:18;;23297:25;23331:32;23297:25;23331:32;:::i;:::-;23391:2;23379:15;;23372:32;23437:70;23499:7;23494:2;23479:18;;23437:70;:::i;:::-;23432:2;23420:15;;23413:95;23424:6;22748:791;-1:-1:-1;;;22748:791:124:o;23544:479::-;23732:2;23717:18;;23721:9;23812:6;23690:4;23846:171;23860:4;23857:1;23854:11;23846:171;;;23919:13;;23907:26;;23962:4;23953:14;;;;23990:17;;;;23880:1;23873:9;23846:171;;;23850:3;;;23544:479;;;;:::o;24677:258::-;24776:6;24829:2;24817:9;24808:7;24804:23;24800:32;24797:52;;;24845:1;24842;24835:12;24797:52;24868:61;24921:7;24910:9;24868:61;:::i;24940:135::-;24979:3;25000:17;;;24997:43;;25020:18;;:::i;:::-;-1:-1:-1;25067:1:124;25056:13;;24940:135::o;25080:251::-;25150:6;25203:2;25191:9;25182:7;25178:23;25174:32;25171:52;;;25219:1;25216;25209:12;25171:52;25251:9;25245:16;25270:31;25295:5;25270:31;:::i;25712:301::-;25841:3;25879:6;25873:13;25925:6;25918:4;25910:6;25906:17;25901:3;25895:37;25987:1;25951:16;;25976:13;;;-1:-1:-1;25951:16:124;25712:301;-1:-1:-1;25712:301:124:o;26376:219::-;26525:2;26514:9;26507:21;26488:4;26545:44;26585:2;26574:9;26570:18;26562:6;26545:44;:::i","linkReferences":{"lib/poseidon-solidity/contracts/PoseidonT3.sol":{"PoseidonT3":[{"start":9409,"length":20}]}},"immutableReferences":{"2498":[{"start":903,"length":32},{"start":1534,"length":32},{"start":5468,"length":32},{"start":9173,"length":32},{"start":9730,"length":32},{"start":10193,"length":32},{"start":10376,"length":32}],"46681":[{"start":3424,"length":32},{"start":3488,"length":32},{"start":3682,"length":32},{"start":3746,"length":32},{"start":3891,"length":32}]}},"methodIdentifiers":{"MAX_LEAVES()":"082febf0","aggSeq()":"c0d03dd4","allowInitializePath((uint32,bytes32,uint64))":"ff7bd03d","broadcast(uint32[],bytes)":"cab45f12","currentAggregationRoot()":"1a2595a9","eidToPosition(uint32)":"2dd992be","endpoint()":"5e280f11","getTokenInfos()":"193695eb","getTransferRootsAndIndices()":"2ba8d07b","initialize(address)":"c4d66de8","isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":"82413eac","lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":"13137d65","nextNonce(uint32,bytes32)":"7d25a05e","oAppVersion()":"17442b70","owner()":"8da5cb5b","peers(uint32)":"bb0b6a53","proxiableUUID()":"52d1902d","quoteBroadcast(uint32[],bytes)":"8e3a428e","registerToken((uint64,uint32,address,address))":"327a75d2","renounceOwnership()":"715018a6","setDelegate(address)":"ca5eb5e1","setPeer(uint32,bytes32)":"3400288b","tokenInfos(uint256)":"7c13774b","transferOwnership(address)":"f2fde38b","transferRoots(uint256)":"8f84778d","transferTreeIndices(uint256)":"534dc25e","updateToken((uint64,uint32,address,address))":"62b32f58","upgradeTo(address)":"3659cfe6","upgradeToAndCall(address,bytes)":"4f1ef286","zeroHash(uint256)":"41b4631e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"endpoint\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"EmptyTargetEids\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeeRefundFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"HubCapacityReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidChainId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegate\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEndpointCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"InvalidPayloadLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"lzTokenFee\",\"type\":\"uint256\"}],\"name\":\"LayerZeroTokenFeeUnsupported\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"LzTokenUnavailable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"provided\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"required\",\"type\":\"uint256\"}],\"name\":\"NativeFeeMismatch\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"NoPeer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"}],\"name\":\"NotEnoughNative\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"OnlyEndpoint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"}],\"name\":\"OnlyPeer\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"TokenAlreadyRegistered\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"TokenNotRegistered\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroToken\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroVerifier\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"aggSeq\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"transferRootsSnapshot\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint64[]\",\"name\":\"transferTreeIndicesSnapshot\",\"type\":\"uint64[]\"}],\"name\":\"AggregationRootUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"peer\",\"type\":\"bytes32\"}],\"name\":\"PeerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"TokenRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"}],\"name\":\"TokenUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newRoot\",\"type\":\"uint256\"}],\"name\":\"TransferRootUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"MAX_LEAVES\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"aggSeq\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"origin\",\"type\":\"tuple\"}],\"name\":\"allowInitializePath\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"targetEids\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes\",\"name\":\"lzOptions\",\"type\":\"bytes\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentAggregationRoot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"aggregationRoot\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"}],\"name\":\"eidToPosition\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"endpoint\",\"outputs\":[{\"internalType\":\"contract ILayerZeroEndpointV2\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTokenInfos\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct Hub.TokenInfo[]\",\"name\":\"infos\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTransferRootsAndIndices\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"roots\",\"type\":\"uint256[]\"},{\"internalType\":\"uint64[]\",\"name\":\"treeIndices\",\"type\":\"uint64[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"isComposeMsgSender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"srcEid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"sender\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"internalType\":\"struct Origin\",\"name\":\"_origin\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"_guid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_message\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_executor\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_extraData\",\"type\":\"bytes\"}],\"name\":\"lzReceive\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"nextNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oAppVersion\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"senderVersion\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"receiverVersion\",\"type\":\"uint64\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"}],\"name\":\"peers\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"targetEids\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes\",\"name\":\"lzOptions\",\"type\":\"bytes\"}],\"name\":\"quoteBroadcast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalNativeFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct Hub.TokenInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"name\":\"registerToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegate\",\"type\":\"address\"}],\"name\":\"setDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_eid\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"_peer\",\"type\":\"bytes32\"}],\"name\":\"setPeer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index_\",\"type\":\"uint256\"}],\"name\":\"tokenInfos\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index_\",\"type\":\"uint256\"}],\"name\":\"transferRoots\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index_\",\"type\":\"uint256\"}],\"name\":\"transferTreeIndices\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"chainId\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"eid\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"internalType\":\"struct Hub.TokenInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"name\":\"updateToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"}],\"name\":\"upgradeTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index_\",\"type\":\"uint256\"}],\"name\":\"zeroHash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements the PoseidonT3 tree (height 6 / 64 leaves) and fee semantics consumed by the verifier network.\",\"errors\":{\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Initialized(uint8)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"allowInitializePath((uint32,bytes32,uint64))\":{\"details\":\"This indicates to the endpoint that the OApp has enabled msgs for this particular path to be received.This defaults to assuming if a peer has been set, its initialized. Can be overridden by the OApp if there is other logic to determine this.\",\"params\":{\"origin\":\"The origin information containing the source endpoint and sender address.\"},\"returns\":{\"_0\":\"Whether the path has been initialized.\"}},\"broadcast(uint32[],bytes)\":{\"details\":\"Implements the `broadcast` step, including fee refund semantics.\",\"params\":{\"lzOptions\":\"LayerZero execution parameters (gas, native drop, etc.).\",\"targetEids\":\"LayerZero endpoint IDs that must receive the global root.\"}},\"currentAggregationRoot()\":{\"details\":\"Mirrors the tree calculation performed inside `_computeBroadcastContext` so off-chain agents can poll freshness.\",\"returns\":{\"aggregationRoot\":\"The Poseidon aggregation root derived from the latest transfer roots snapshot.\"}},\"initialize(address)\":{\"params\":{\"delegate\":\"Address that MUST become both the contract owner and LayerZero delegate so admin controls and callbacks share the same authority.\"}},\"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)\":{\"details\":\"_origin The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message._message The lzReceive payload.Applications can optionally choose to implement separate composeMsg senders that are NOT the bridging layer.The default sender IS the OAppReceiver implementer.\",\"params\":{\"_sender\":\"The sender address.\"},\"returns\":{\"_0\":\"isSender Is a valid sender.\"}},\"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)\":{\"details\":\"Entry point for receiving messages or packets from the endpoint.Entry point for receiving msg/packet from the LayerZero endpoint.\",\"params\":{\"_executor\":\"The address of the executor for the received message.\",\"_extraData\":\"Additional arbitrary data provided by the corresponding executor.\",\"_guid\":\"The unique identifier for the received LayerZero message.\",\"_message\":\"The payload of the received message.\",\"_origin\":\"The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message.\"}},\"nextNonce(uint32,bytes32)\":{\"details\":\"_srcEid The source endpoint ID._sender The sender address.The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.Is required by the off-chain executor to determine the OApp expects msg execution is ordered.This is also enforced by the OApp.By default this is NOT enabled. ie. nextNonce is hardcoded to return 0.\",\"returns\":{\"nonce\":\"The next nonce.\"}},\"oAppVersion()\":{\"returns\":{\"receiverVersion\":\"The version of the OAppReceiver.sol implementation.\",\"senderVersion\":\"The version of the OAppSender.sol implementation.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"peers(uint32)\":{\"params\":{\"_eid\":\"The endpoint ID.\"},\"returns\":{\"_0\":\"peer The address of the peer associated with the specified endpoint.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"quoteBroadcast(uint32[],bytes)\":{\"params\":{\"lzOptions\":\"LayerZero execution parameters mirrored from `broadcast`.\",\"targetEids\":\"Destination endpoint IDs that must already be registered.\"},\"returns\":{\"totalNativeFee\":\"Sum of endpoint-specific native fee quotes.\"}},\"registerToken((uint64,uint32,address,address))\":{\"details\":\"Mirrors the owner-gated registration flow defined for the aggregation hub.\",\"params\":{\"info\":\"Struct containing chainId, endpoint ID, verifier, and token metadata.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setDelegate(address)\":{\"details\":\"Only the owner/admin of the OApp can call this function.Provides the ability for a delegate to set configs, on behalf of the OApp, directly on the Endpoint contract.\",\"params\":{\"_delegate\":\"The address of the delegate to be set.\"}},\"setPeer(uint32,bytes32)\":{\"details\":\"Only the owner/admin of the OApp can call this function.Indicates that the peer is trusted to send LayerZero messages to this OApp.Set this to bytes32(0) to remove the peer address.Peer is a bytes32 to accommodate non-evm chains.\",\"params\":{\"_eid\":\"The endpoint ID.\",\"_peer\":\"The address of the peer to be associated with the corresponding endpoint.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"updateToken((uint64,uint32,address,address))\":{\"params\":{\"info\":\"Updated metadata sharing the same `eid` slot.\"}},\"upgradeTo(address)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"title\":\"Hub\",\"version\":1},\"userdoc\":{\"errors\":{\"HubCapacityReached()\":[{\"notice\":\"----------------------------------------------------------------------- Errors -----------------------------------------------------------------------\"}]},\"kind\":\"user\",\"methods\":{\"MAX_LEAVES()\":{\"notice\":\"----------------------------------------------------------------------- Constants & Storage -----------------------------------------------------------------------\"},\"allowInitializePath((uint32,bytes32,uint64))\":{\"notice\":\"Checks if the path initialization is allowed based on the provided origin.\"},\"broadcast(uint32[],bytes)\":{\"notice\":\"Snapshots transfer roots, computes the Poseidon aggregation root, and broadcasts it to target EIDs.\"},\"constructor\":{\"notice\":\"----------------------------------------------------------------------- Constructor -----------------------------------------------------------------------\"},\"currentAggregationRoot()\":{\"notice\":\"Computes the aggregation root for the current transfer roots without mutating state.\"},\"endpoint()\":{\"notice\":\"Retrieves the LayerZero endpoint associated with the OApp.\"},\"getTokenInfos()\":{\"notice\":\"Returns a memory copy of the registered token metadata for off-chain auditors.\"},\"getTransferRootsAndIndices()\":{\"notice\":\"Exposes the latest per-token transfer roots along with their monotonically increasing tree indices.\"},\"initialize(address)\":{\"notice\":\"Initializes the Hub's LayerZero delegate pairing alongside upgrade hooks.\"},\"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)\":{\"notice\":\"Indicates whether an address is an approved composeMsg sender to the Endpoint.\"},\"nextNonce(uint32,bytes32)\":{\"notice\":\"Retrieves the next nonce for a given source endpoint and sender address.\"},\"oAppVersion()\":{\"notice\":\"Retrieves the OApp version information.\"},\"peers(uint32)\":{\"notice\":\"Returns the peer address (OApp instance) associated with a specific endpoint.\"},\"quoteBroadcast(uint32[],bytes)\":{\"notice\":\"Estimates the total native fee required to broadcast a payload to the provided endpoints.\"},\"registerToken((uint64,uint32,address,address))\":{\"notice\":\"Registers a token/verifier tuple so its transfer roots contribute to the Poseidon aggregation tree.\"},\"setDelegate(address)\":{\"notice\":\"Sets the delegate address for the OApp.\"},\"setPeer(uint32,bytes32)\":{\"notice\":\"Sets the peer address (OApp instance) for a corresponding endpoint.\"},\"updateToken((uint64,uint32,address,address))\":{\"notice\":\"Refreshes the verifier/token metadata for an already-registered endpoint without reordering leaves.\"}},\"notice\":\"Central LayerZero OApp that tracks per-token transfer roots, Poseidon-aggregates them, and broadcasts the global root consumed by verifier contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Hub.sol\":\"Hub\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@layerzerolabs/lz-evm-messagelib-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/messagelib/\",\":@layerzerolabs/lz-evm-protocol-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/\",\":@layerzerolabs/oapp-evm-upgradeable/=lib/devtools/packages/oapp-evm-upgradeable/\",\":@layerzerolabs/oapp-evm/=lib/devtools/packages/oapp-evm/\",\":@layerzerolabs/oft-evm-upgradeable/=lib/devtools/packages/oft-evm-upgradeable/\",\":@layerzerolabs/oft-evm/=lib/devtools/packages/oft-evm/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":LayerZero-v2/=lib/LayerZero-v2/\",\":devtools/=lib/devtools/packages/toolbox-foundry/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":poseidon-solidity/=lib/poseidon-solidity/\",\":solidity-bytes-utils/=lib/solidity-bytes-utils/\"]},\"sources\":{\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroEndpointV2.sol\":{\"keccak256\":\"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083\",\"dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroReceiver.sol\":{\"keccak256\":\"0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933\",\"dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessageLibManager.sol\":{\"keccak256\":\"0xd710f9efe703982e8eabe15d19d6114af753ef42f2796551da782a0fb6633e4b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5c9c874871469c871004d49a1cb5304e63ea3faaf366bfed9d718abbb9cc20a\",\"dweb:/ipfs/QmarXxE4dezAa5gBe82KCrcvWcMwa3BYqkfXbDQ3rRjfEB\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingChannel.sol\":{\"keccak256\":\"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927\",\"dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingComposer.sol\":{\"keccak256\":\"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d\",\"dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk\"]},\"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingContext.sol\":{\"keccak256\":\"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6\",\"dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppCoreUpgradeable.sol\":{\"keccak256\":\"0xbe135fd35bf12c97aeb701caeb6c5d0c1c28c1ac2ab1d4219d15f8384951c140\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a5cec12ab6677830bf2daefa94c402d848c223a2a081e4892985c1f4b06d30e4\",\"dweb:/ipfs/QmSV6NwuXCfWMZVFDRmeBgeWGBApwxqQxRbForCC2NTtgd\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppReceiverUpgradeable.sol\":{\"keccak256\":\"0xa38e5d26d044331212af7fc69dbbdebf25f527811bbd0492a4cee9ecdd3bd671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13a70adbbf5e9299a71811663b98bf62cce797ba9029d0572fa2fa7aa8c5e85d\",\"dweb:/ipfs/QmaTx7dN5XAKXy6bY7r4QCLWRuoP3kcWfLd7VnHf38ysgH\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppSenderUpgradeable.sol\":{\"keccak256\":\"0x4e13557c5dc7c983f69d32911572efdbddea071a03bf2fc50e1cad92ddf0ef49\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c455f606d0d1e3390a8d2189c50110ac4b5a85ce1be47b4a2e36de92122728a\",\"dweb:/ipfs/QmfH7dQKjCZ4THCRZaPEzaTtv5r69k5F1LbmWQGrYHV76y\"]},\"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppUpgradeable.sol\":{\"keccak256\":\"0xc298cebb8133eed14fcc29865cb8bc5dbeba7b49a3127eea05653b738ceeb71c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9287b693b56b09524bc35411da88b32cf3b7cad7dabebe7d5208bc124550ad35\",\"dweb:/ipfs/QmadrXttz2wimqVYkRNvoMRAm6XBtSbU9sVjULHswgEURu\"]},\"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppCore.sol\":{\"keccak256\":\"0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd\",\"dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv\"]},\"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppReceiver.sol\":{\"keccak256\":\"0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2\",\"dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c\",\"dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol\":{\"keccak256\":\"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0\",\"dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol\":{\"keccak256\":\"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053\",\"dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol\":{\"keccak256\":\"0x7795808e3899c805254e3ae58074b20f799b466e3f43e057e47bedee5fb771f8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://319853a2a682f3f72411507242669ef5e76e0ad3457be53102439709ee8948f0\",\"dweb:/ipfs/QmRtm4Ese9u4jfxXyuWPXLwzenwFotuQjAWV7rXtZTB1E9\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol\":{\"keccak256\":\"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1\",\"dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e\",\"dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xefb41f5c1a00249b7a99f0782f8c557865605426a3fb6e5fe9ae334293ae4f33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90def55e5782595aabc13f57780c02d3613e5226f20ce6c1709503a63fdeb58f\",\"dweb:/ipfs/Qmb5vcymmNEZUJMaHmYxnhvGJDEsGMae4YjcHwkA74jy99\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b\",\"dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95\",\"dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol\":{\"keccak256\":\"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685\",\"dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100\",\"dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037\",\"dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d\",\"dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508\",\"dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB\"]},\"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol\":{\"keccak256\":\"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2\",\"dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"lib/poseidon-solidity/contracts/PoseidonT3.sol\":{\"keccak256\":\"0x0102caa303bbc6690508f3615604f7730789ed990058c9513a87ccb30e4835be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1fe7291d5f998eaf7dfe37961b8a8e72f60cf79a7a34459efa5683ca3a702971\",\"dweb:/ipfs/QmQExqgvNEPKLq15rNygqmthUnAPWgTm4m3Bb5BCExwHF1\"]},\"src/Hub.sol\":{\"keccak256\":\"0x0a9527eaf9daabea369542e9b2702086ecf9bb740e4aa4c90e1a9cea6c9c1178\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://318cfb833b0488364ed72cf4f0a503497cbf860db0e938b740c2282898011191\",\"dweb:/ipfs/QmYWLpndRn98QsnaTcWpraqNwxY3RQzSFUeR53sJRnGqWt\"]},\"src/utils/PoseidonAggregationConfig.sol\":{\"keccak256\":\"0x73b091a3bba6ead20bc98beffa39095552b413fa07dec342b62196ee2770e701\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://638053c8a17b8088cc09f61568a8fcb1d228ca256c32596e4b838923acd1204a\",\"dweb:/ipfs/Qma4ZYxQ2Dxkxu9sjWdgEaTCuYxo7CXTLezX9UD8fEop9P\"]},\"src/utils/PoseidonAggregationLib.sol\":{\"keccak256\":\"0x2d0e05e0cf86d6af47cb150e680d91822c4ce31bc2106fe51d6aba03c948d0b3\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://b27433a4801beb1035837d5494bff7c3edb7984b2a3c131452d65d73124fefd7\",\"dweb:/ipfs/QmaT78rmNpXnpZqs8G5D36Fwd2m2SEaDPRET7iQbP8m7pt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"endpoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"EmptyTargetEids"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"type":"error","name":"FeeRefundFailed"},{"inputs":[],"type":"error","name":"HubCapacityReached"},{"inputs":[],"type":"error","name":"InvalidChainId"},{"inputs":[],"type":"error","name":"InvalidDelegate"},{"inputs":[],"type":"error","name":"InvalidEndpointCall"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"InvalidPayloadLength"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"uint256","name":"lzTokenFee","type":"uint256"}],"type":"error","name":"LayerZeroTokenFeeUnsupported"},{"inputs":[],"type":"error","name":"LzTokenUnavailable"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"required","type":"uint256"}],"type":"error","name":"NativeFeeMismatch"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"type":"error","name":"NoPeer"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"}],"type":"error","name":"NotEnoughNative"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"type":"error","name":"OnlyEndpoint"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"}],"type":"error","name":"OnlyPeer"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"type":"error","name":"TokenAlreadyRegistered"},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"type":"error","name":"TokenNotRegistered"},{"inputs":[],"type":"error","name":"ZeroToken"},{"inputs":[],"type":"error","name":"ZeroVerifier"},{"inputs":[{"internalType":"address","name":"previousAdmin","type":"address","indexed":false},{"internalType":"address","name":"newAdmin","type":"address","indexed":false}],"type":"event","name":"AdminChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"root","type":"uint256","indexed":true},{"internalType":"uint64","name":"aggSeq","type":"uint64","indexed":true},{"internalType":"uint256[]","name":"transferRootsSnapshot","type":"uint256[]","indexed":false},{"internalType":"uint64[]","name":"transferTreeIndicesSnapshot","type":"uint64[]","indexed":false}],"type":"event","name":"AggregationRootUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"beacon","type":"address","indexed":true}],"type":"event","name":"BeaconUpgraded","anonymous":false},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32","indexed":false},{"internalType":"bytes32","name":"peer","type":"bytes32","indexed":false}],"type":"event","name":"PeerSet","anonymous":false},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32","indexed":true},{"internalType":"uint256","name":"index","type":"uint256","indexed":true},{"internalType":"uint64","name":"chainId","type":"uint64","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"verifier","type":"address","indexed":false}],"type":"event","name":"TokenRegistered","anonymous":false},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32","indexed":true},{"internalType":"uint256","name":"index","type":"uint256","indexed":true},{"internalType":"uint64","name":"chainId","type":"uint64","indexed":false},{"internalType":"address","name":"token","type":"address","indexed":false},{"internalType":"address","name":"verifier","type":"address","indexed":false}],"type":"event","name":"TokenUpdated","anonymous":false},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32","indexed":true},{"internalType":"uint256","name":"index","type":"uint256","indexed":true},{"internalType":"uint256","name":"newRoot","type":"uint256","indexed":false}],"type":"event","name":"TransferRootUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_LEAVES","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"aggSeq","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"struct Origin","name":"origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]}],"stateMutability":"view","type":"function","name":"allowInitializePath","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint32[]","name":"targetEids","type":"uint32[]"},{"internalType":"bytes","name":"lzOptions","type":"bytes"}],"stateMutability":"payable","type":"function","name":"broadcast"},{"inputs":[],"stateMutability":"view","type":"function","name":"currentAggregationRoot","outputs":[{"internalType":"uint256","name":"aggregationRoot","type":"uint256"}]},{"inputs":[{"internalType":"uint32","name":"eid","type":"uint32"}],"stateMutability":"view","type":"function","name":"eidToPosition","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"endpoint","outputs":[{"internalType":"contract ILayerZeroEndpointV2","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTokenInfos","outputs":[{"internalType":"struct Hub.TokenInfo[]","name":"infos","type":"tuple[]","components":[{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"address","name":"verifier","type":"address"},{"internalType":"address","name":"token","type":"address"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getTransferRootsAndIndices","outputs":[{"internalType":"uint256[]","name":"roots","type":"uint256[]"},{"internalType":"uint64[]","name":"treeIndices","type":"uint64[]"}]},{"inputs":[{"internalType":"address","name":"delegate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"struct Origin","name":"","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"address","name":"_sender","type":"address"}],"stateMutability":"view","type":"function","name":"isComposeMsgSender","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct Origin","name":"_origin","type":"tuple","components":[{"internalType":"uint32","name":"srcEid","type":"uint32"},{"internalType":"bytes32","name":"sender","type":"bytes32"},{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"internalType":"bytes32","name":"_guid","type":"bytes32"},{"internalType":"bytes","name":"_message","type":"bytes"},{"internalType":"address","name":"_executor","type":"address"},{"internalType":"bytes","name":"_extraData","type":"bytes"}],"stateMutability":"payable","type":"function","name":"lzReceive"},{"inputs":[{"internalType":"uint32","name":"","type":"uint32"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"nextNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"oAppVersion","outputs":[{"internalType":"uint64","name":"senderVersion","type":"uint64"},{"internalType":"uint64","name":"receiverVersion","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"}],"stateMutability":"view","type":"function","name":"peers","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint32[]","name":"targetEids","type":"uint32[]"},{"internalType":"bytes","name":"lzOptions","type":"bytes"}],"stateMutability":"view","type":"function","name":"quoteBroadcast","outputs":[{"internalType":"uint256","name":"totalNativeFee","type":"uint256"}]},{"inputs":[{"internalType":"struct Hub.TokenInfo","name":"info","type":"tuple","components":[{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"address","name":"verifier","type":"address"},{"internalType":"address","name":"token","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"registerToken"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_delegate","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDelegate"},{"inputs":[{"internalType":"uint32","name":"_eid","type":"uint32"},{"internalType":"bytes32","name":"_peer","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"setPeer"},{"inputs":[{"internalType":"uint256","name":"index_","type":"uint256"}],"stateMutability":"view","type":"function","name":"tokenInfos","outputs":[{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"address","name":"verifier","type":"address"},{"internalType":"address","name":"token","type":"address"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint256","name":"index_","type":"uint256"}],"stateMutability":"view","type":"function","name":"transferRoots","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"index_","type":"uint256"}],"stateMutability":"view","type":"function","name":"transferTreeIndices","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"struct Hub.TokenInfo","name":"info","type":"tuple","components":[{"internalType":"uint64","name":"chainId","type":"uint64"},{"internalType":"uint32","name":"eid","type":"uint32"},{"internalType":"address","name":"verifier","type":"address"},{"internalType":"address","name":"token","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"updateToken"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"upgradeTo"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"uint256","name":"index_","type":"uint256"}],"stateMutability":"view","type":"function","name":"zeroHash","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"allowInitializePath((uint32,bytes32,uint64))":{"details":"This indicates to the endpoint that the OApp has enabled msgs for this particular path to be received.This defaults to assuming if a peer has been set, its initialized. Can be overridden by the OApp if there is other logic to determine this.","params":{"origin":"The origin information containing the source endpoint and sender address."},"returns":{"_0":"Whether the path has been initialized."}},"broadcast(uint32[],bytes)":{"details":"Implements the `broadcast` step, including fee refund semantics.","params":{"lzOptions":"LayerZero execution parameters (gas, native drop, etc.).","targetEids":"LayerZero endpoint IDs that must receive the global root."}},"currentAggregationRoot()":{"details":"Mirrors the tree calculation performed inside `_computeBroadcastContext` so off-chain agents can poll freshness.","returns":{"aggregationRoot":"The Poseidon aggregation root derived from the latest transfer roots snapshot."}},"initialize(address)":{"params":{"delegate":"Address that MUST become both the contract owner and LayerZero delegate so admin controls and callbacks share the same authority."}},"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":{"details":"_origin The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message._message The lzReceive payload.Applications can optionally choose to implement separate composeMsg senders that are NOT the bridging layer.The default sender IS the OAppReceiver implementer.","params":{"_sender":"The sender address."},"returns":{"_0":"isSender Is a valid sender."}},"lzReceive((uint32,bytes32,uint64),bytes32,bytes,address,bytes)":{"details":"Entry point for receiving messages or packets from the endpoint.Entry point for receiving msg/packet from the LayerZero endpoint.","params":{"_executor":"The address of the executor for the received message.","_extraData":"Additional arbitrary data provided by the corresponding executor.","_guid":"The unique identifier for the received LayerZero message.","_message":"The payload of the received message.","_origin":"The origin information containing the source endpoint and sender address. - srcEid: The source chain endpoint ID. - sender: The sender address on the src chain. - nonce: The nonce of the message."}},"nextNonce(uint32,bytes32)":{"details":"_srcEid The source endpoint ID._sender The sender address.The path nonce starts from 1. If 0 is returned it means that there is NO nonce ordered enforcement.Is required by the off-chain executor to determine the OApp expects msg execution is ordered.This is also enforced by the OApp.By default this is NOT enabled. ie. nextNonce is hardcoded to return 0.","returns":{"nonce":"The next nonce."}},"oAppVersion()":{"returns":{"receiverVersion":"The version of the OAppReceiver.sol implementation.","senderVersion":"The version of the OAppSender.sol implementation."}},"owner()":{"details":"Returns the address of the current owner."},"peers(uint32)":{"params":{"_eid":"The endpoint ID."},"returns":{"_0":"peer The address of the peer associated with the specified endpoint."}},"proxiableUUID()":{"details":"Implementation of the ERC1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"quoteBroadcast(uint32[],bytes)":{"params":{"lzOptions":"LayerZero execution parameters mirrored from `broadcast`.","targetEids":"Destination endpoint IDs that must already be registered."},"returns":{"totalNativeFee":"Sum of endpoint-specific native fee quotes."}},"registerToken((uint64,uint32,address,address))":{"details":"Mirrors the owner-gated registration flow defined for the aggregation hub.","params":{"info":"Struct containing chainId, endpoint ID, verifier, and token metadata."}},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setDelegate(address)":{"details":"Only the owner/admin of the OApp can call this function.Provides the ability for a delegate to set configs, on behalf of the OApp, directly on the Endpoint contract.","params":{"_delegate":"The address of the delegate to be set."}},"setPeer(uint32,bytes32)":{"details":"Only the owner/admin of the OApp can call this function.Indicates that the peer is trusted to send LayerZero messages to this OApp.Set this to bytes32(0) to remove the peer address.Peer is a bytes32 to accommodate non-evm chains.","params":{"_eid":"The endpoint ID.","_peer":"The address of the peer to be associated with the corresponding endpoint."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"updateToken((uint64,uint32,address,address))":{"params":{"info":"Updated metadata sharing the same `eid` slot."}},"upgradeTo(address)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"MAX_LEAVES()":{"notice":"----------------------------------------------------------------------- Constants & Storage -----------------------------------------------------------------------"},"allowInitializePath((uint32,bytes32,uint64))":{"notice":"Checks if the path initialization is allowed based on the provided origin."},"broadcast(uint32[],bytes)":{"notice":"Snapshots transfer roots, computes the Poseidon aggregation root, and broadcasts it to target EIDs."},"constructor":{"notice":"----------------------------------------------------------------------- Constructor -----------------------------------------------------------------------"},"currentAggregationRoot()":{"notice":"Computes the aggregation root for the current transfer roots without mutating state."},"endpoint()":{"notice":"Retrieves the LayerZero endpoint associated with the OApp."},"getTokenInfos()":{"notice":"Returns a memory copy of the registered token metadata for off-chain auditors."},"getTransferRootsAndIndices()":{"notice":"Exposes the latest per-token transfer roots along with their monotonically increasing tree indices."},"initialize(address)":{"notice":"Initializes the Hub's LayerZero delegate pairing alongside upgrade hooks."},"isComposeMsgSender((uint32,bytes32,uint64),bytes,address)":{"notice":"Indicates whether an address is an approved composeMsg sender to the Endpoint."},"nextNonce(uint32,bytes32)":{"notice":"Retrieves the next nonce for a given source endpoint and sender address."},"oAppVersion()":{"notice":"Retrieves the OApp version information."},"peers(uint32)":{"notice":"Returns the peer address (OApp instance) associated with a specific endpoint."},"quoteBroadcast(uint32[],bytes)":{"notice":"Estimates the total native fee required to broadcast a payload to the provided endpoints."},"registerToken((uint64,uint32,address,address))":{"notice":"Registers a token/verifier tuple so its transfer roots contribute to the Poseidon aggregation tree."},"setDelegate(address)":{"notice":"Sets the delegate address for the OApp."},"setPeer(uint32,bytes32)":{"notice":"Sets the peer address (OApp instance) for a corresponding endpoint."},"updateToken((uint64,uint32,address,address))":{"notice":"Refreshes the verifier/token metadata for an already-registered endpoint without reordering leaves."}},"version":1}},"settings":{"remappings":["@layerzerolabs/lz-evm-messagelib-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/messagelib/","@layerzerolabs/lz-evm-protocol-v2/=lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/","@layerzerolabs/oapp-evm-upgradeable/=lib/devtools/packages/oapp-evm-upgradeable/","@layerzerolabs/oapp-evm/=lib/devtools/packages/oapp-evm/","@layerzerolabs/oft-evm-upgradeable/=lib/devtools/packages/oft-evm-upgradeable/","@layerzerolabs/oft-evm/=lib/devtools/packages/oft-evm/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","LayerZero-v2/=lib/LayerZero-v2/","devtools/=lib/devtools/packages/toolbox-foundry/src/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin/=lib/openzeppelin-contracts-upgradeable/contracts/","poseidon-solidity/=lib/poseidon-solidity/","solidity-bytes-utils/=lib/solidity-bytes-utils/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/Hub.sol":"Hub"},"evmVersion":"prague","libraries":{}},"sources":{"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroEndpointV2.sol":{"keccak256":"0xf7f941bee89ea6369950fe54e8ac476ae6478b958b20fc0e8a83e8ff1364eac3","urls":["bzz-raw://bacc29fd3866af71e59cb0bdc1cf82c882a4a7f4e2652fd413c9f12649762083","dweb:/ipfs/QmZh2toLnrQDWaNYhS5K4NoW7Vxd2GdZx9KA77vKEDLAqs"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/ILayerZeroReceiver.sol":{"keccak256":"0x9641abba8d53b08bb517d1b74801dd15ea7b84d77a6719085bd96c8ea94e3ca0","urls":["bzz-raw://77415ae0820859e0faf3fabdce683cce9fa03ea026ae0f6fe081ef1c9205f933","dweb:/ipfs/QmXd7APqoCunQ2jYy73AHvi5gsZofLpm3SzM6FPo7zRPfL"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessageLibManager.sol":{"keccak256":"0xd710f9efe703982e8eabe15d19d6114af753ef42f2796551da782a0fb6633e4b","urls":["bzz-raw://b5c9c874871469c871004d49a1cb5304e63ea3faaf366bfed9d718abbb9cc20a","dweb:/ipfs/QmarXxE4dezAa5gBe82KCrcvWcMwa3BYqkfXbDQ3rRjfEB"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingChannel.sol":{"keccak256":"0x0878f64dffebf58c4165569416372f40860fab546b88cd926eba0d5cb6d8d972","urls":["bzz-raw://7e1b245d58221d16d8b5e0f01ef3e289a24a7df1ace3b94239e4d5b954ad5927","dweb:/ipfs/Qmappsgp7PCY9rSSNE9Cdn4BTRX591WfCSEgq2HxhA3z6S"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingComposer.sol":{"keccak256":"0x85bc7090134529ec474866dc4bb1c48692d518c756eb0a961c82574829c51901","urls":["bzz-raw://b18b23a1643fc6636c4ad9d9023e2e6ca2d3c2a4a046482d4655bff09950598d","dweb:/ipfs/Qma6G5SqiovwrMPfgqTrRngK1HWW373Wkf9c6YP2NhXpPk"],"license":"MIT"},"lib/LayerZero-v2/packages/layerzero-v2/evm/protocol/contracts/interfaces/IMessagingContext.sol":{"keccak256":"0xff0c546c2813dae3e440882f46b377375f7461b0714efd80bd3f0c6e5cb8da4e","urls":["bzz-raw://5173fc9143bea314b159ca5a9adb5626659ef763bc598e27de5fa46efe3291a6","dweb:/ipfs/QmSLFeMFPmVeGxT4sxRPW28ictjAS22M8rLeYRu9TXkA6D"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppCoreUpgradeable.sol":{"keccak256":"0xbe135fd35bf12c97aeb701caeb6c5d0c1c28c1ac2ab1d4219d15f8384951c140","urls":["bzz-raw://a5cec12ab6677830bf2daefa94c402d848c223a2a081e4892985c1f4b06d30e4","dweb:/ipfs/QmSV6NwuXCfWMZVFDRmeBgeWGBApwxqQxRbForCC2NTtgd"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppReceiverUpgradeable.sol":{"keccak256":"0xa38e5d26d044331212af7fc69dbbdebf25f527811bbd0492a4cee9ecdd3bd671","urls":["bzz-raw://13a70adbbf5e9299a71811663b98bf62cce797ba9029d0572fa2fa7aa8c5e85d","dweb:/ipfs/QmaTx7dN5XAKXy6bY7r4QCLWRuoP3kcWfLd7VnHf38ysgH"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppSenderUpgradeable.sol":{"keccak256":"0x4e13557c5dc7c983f69d32911572efdbddea071a03bf2fc50e1cad92ddf0ef49","urls":["bzz-raw://0c455f606d0d1e3390a8d2189c50110ac4b5a85ce1be47b4a2e36de92122728a","dweb:/ipfs/QmfH7dQKjCZ4THCRZaPEzaTtv5r69k5F1LbmWQGrYHV76y"],"license":"MIT"},"lib/devtools/packages/oapp-evm-upgradeable/contracts/oapp/OAppUpgradeable.sol":{"keccak256":"0xc298cebb8133eed14fcc29865cb8bc5dbeba7b49a3127eea05653b738ceeb71c","urls":["bzz-raw://9287b693b56b09524bc35411da88b32cf3b7cad7dabebe7d5208bc124550ad35","dweb:/ipfs/QmadrXttz2wimqVYkRNvoMRAm6XBtSbU9sVjULHswgEURu"],"license":"MIT"},"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppCore.sol":{"keccak256":"0x40e49f2de74506e1da5dcaed53a39853f691647f4ceb0fccc8f49a68d3f47c58","urls":["bzz-raw://4a1deb2a6a3eb1fb83936c9578469142bff470295f403d7d07d955a76be3adbd","dweb:/ipfs/QmS9bjSfBaE4YhQ1PCQ1TknbEPbNfRXzBK9E7SaPGyiZEv"],"license":"MIT"},"lib/devtools/packages/oapp-evm/contracts/oapp/interfaces/IOAppReceiver.sol":{"keccak256":"0xd26135185e19b3732746d4a9e2923e896f28dec8664bab161faea2ee26fcdc3d","urls":["bzz-raw://c236dfe386b508be33c3a1a74ae1d4fd64b8c77ae207767e9dbed0f2429518a2","dweb:/ipfs/QmXVbZJjfryTRti98uN3BMh5qh4K7NuEs1RSCoBjRoYd4q"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0x359a1ab89b46b9aba7bcad3fb651924baf4893d15153049b9976b0fc9be1358e","urls":["bzz-raw://e89863421b4014b96a4b62be76eb3b9f0a8afe9684664a6f389124c0964bfe5c","dweb:/ipfs/Qmbk7xr1irpDuU1WdxXgxELBXxs61rHhCgod7heVcvFx16"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/IERC1967Upgradeable.sol":{"keccak256":"0x47d6e06872b12e72c79d1b5eb55842f860b5fb1207b2317c2358d2766b950a7b","urls":["bzz-raw://ac55bf6f92fc7b90c6d79d346163a0a02bd5c648c7fede08b20e5da96d4ae2a0","dweb:/ipfs/QmQoSrHhka35iKDK5iyNt8cuXXS5ANXVPjLhfsJjktB8V9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/interfaces/draft-IERC1822Upgradeable.sol":{"keccak256":"0x77c89f893e403efc6929ba842b7ccf6534d4ffe03afe31670b4a528c0ad78c0f","urls":["bzz-raw://496bd9b3df2455d571018c09f0c6badd29713fdeb907c6aa09d8d28cb603f053","dweb:/ipfs/QmXdJDyYs6WMwMh21dez2BYPxhSUaUYFMDtVNcn2cgFR79"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol":{"keccak256":"0x7795808e3899c805254e3ae58074b20f799b466e3f43e057e47bedee5fb771f8","urls":["bzz-raw://319853a2a682f3f72411507242669ef5e76e0ad3457be53102439709ee8948f0","dweb:/ipfs/QmRtm4Ese9u4jfxXyuWPXLwzenwFotuQjAWV7rXtZTB1E9"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/beacon/IBeaconUpgradeable.sol":{"keccak256":"0x24b86ac8c005b8c654fbf6ac34a5a4f61580d7273541e83e013e89d66fbf0908","urls":["bzz-raw://4dbfe1a3b3b3fb64294ce41fd2ad362e7b7012208117864f42c1a67620a6d5c1","dweb:/ipfs/QmVMU5tWt7zBQMmf5cpMX8UMHV86T3kFeTxBTBjFqVWfoJ"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x89be10e757d242e9b18d5a32c9fbe2019f6d63052bbe46397a430a1d60d7f794","urls":["bzz-raw://f103ee2e4aecd37aac6ceefe670709cdd7613dee25fa2d4d9feaf7fc0aaa155e","dweb:/ipfs/QmRiNZLoJk5k3HPMYGPGjZFd2ke1ZxjhJZkM45Ec9GH9hv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xefb41f5c1a00249b7a99f0782f8c557865605426a3fb6e5fe9ae334293ae4f33","urls":["bzz-raw://90def55e5782595aabc13f57780c02d3613e5226f20ce6c1709503a63fdeb58f","dweb:/ipfs/Qmb5vcymmNEZUJMaHmYxnhvGJDEsGMae4YjcHwkA74jy99"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x9c80f545915582e63fe206c6ce27cbe85a86fc10b9cd2a0e8c9488fb7c2ee422","urls":["bzz-raw://310136ad60820af4177a11a61d77a3686faf5fca4942b600e08fc940db38396b","dweb:/ipfs/QmbCzMNSTL7Zi7M4UCSqBrkHtp4jjxUnGbkneCZKdR1qeq"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0x75097e35253e7fb282ee4d7f27a80eaacfa759923185bf17302a89cbc059c5ef","urls":["bzz-raw://8b06267c5f80bad727af3e48b1382333d591dad51376399ef2f6b0ee6d58bf95","dweb:/ipfs/QmdU5La1agcQvghnfMpWZGDPz2TUDTCxUwTLKmuMRXBpAx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/StorageSlotUpgradeable.sol":{"keccak256":"0x07ac95acad040f1fb1f6120dd0aa5f702db69446e95f82613721879d30de0908","urls":["bzz-raw://a9df9de7b5da1d1bd3d4b6c073d0174bc4211db60e794a321c8cb5d4eae34685","dweb:/ipfs/QmWe49zj65jayrCe9jZpoWhYUZ1RiwSxyU2s7SBZnMztVy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0xd5ea07362ab630a6a3dee4285a74cf2377044ca2e4be472755ad64d7c5d4b69d","urls":["bzz-raw://da5e832b40fc5c3145d3781e2e5fa60ac2052c9d08af7e300dc8ab80c4343100","dweb:/ipfs/QmTzf7N5ZUdh5raqtzbM11yexiUoLC9z3Ws632MCuycq1d"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0x0afcb7e740d1537b252cb2676f600465ce6938398569f09ba1b9ca240dde2dfc","urls":["bzz-raw://1c299900ac4ec268d4570ecef0d697a3013cd11a6eb74e295ee3fbc945056037","dweb:/ipfs/Qmab9owJoxcA7vJT5XNayCMaUR1qxqj1NDzzisduwaJMcZ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0x1a6221315ce0307746c2c4827c125d821ee796c74a676787762f4778671d4f44","urls":["bzz-raw://1bb2332a7ee26dd0b0de9b7fe266749f54820c99ab6a3bcb6f7e6b751d47ee2d","dweb:/ipfs/QmcRWpaBeCYkhy68PR3B4AgD7asuQk7PwkWxrvJbZcikLF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2","urls":["bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303","dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0x982c5cb790ab941d1e04f807120a71709d4c313ba0bfc16006447ffbd27fbbd5","urls":["bzz-raw://8150ceb4ac947e8a442b2a9c017e01e880b2be2dd958f1fa9bc405f4c5a86508","dweb:/ipfs/QmbcBmFX66AY6Kbhnd5gx7zpkgqnUafo43XnmayAM7zVdB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"keccak256":"0x67672e4ca1dafdcc661d4eba8475cfac631fa0933309258e3af7644b92e1fb26","urls":["bzz-raw://30192451f05ea5ddb0c18bd0f9003f098505836ba19c08a9c365adf829454da2","dweb:/ipfs/QmfCuZSCTyCdFoSKn7MSaN6hZksnQn9ZhrZDAdRTCbwGu2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c","urls":["bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617","dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"],"license":"MIT"},"lib/poseidon-solidity/contracts/PoseidonT3.sol":{"keccak256":"0x0102caa303bbc6690508f3615604f7730789ed990058c9513a87ccb30e4835be","urls":["bzz-raw://1fe7291d5f998eaf7dfe37961b8a8e72f60cf79a7a34459efa5683ca3a702971","dweb:/ipfs/QmQExqgvNEPKLq15rNygqmthUnAPWgTm4m3Bb5BCExwHF1"],"license":"MIT"},"src/Hub.sol":{"keccak256":"0x0a9527eaf9daabea369542e9b2702086ecf9bb740e4aa4c90e1a9cea6c9c1178","urls":["bzz-raw://318cfb833b0488364ed72cf4f0a503497cbf860db0e938b740c2282898011191","dweb:/ipfs/QmYWLpndRn98QsnaTcWpraqNwxY3RQzSFUeR53sJRnGqWt"],"license":"Unlicense"},"src/utils/PoseidonAggregationConfig.sol":{"keccak256":"0x73b091a3bba6ead20bc98beffa39095552b413fa07dec342b62196ee2770e701","urls":["bzz-raw://638053c8a17b8088cc09f61568a8fcb1d228ca256c32596e4b838923acd1204a","dweb:/ipfs/Qma4ZYxQ2Dxkxu9sjWdgEaTCuYxo7CXTLezX9UD8fEop9P"],"license":"Unlicense"},"src/utils/PoseidonAggregationLib.sol":{"keccak256":"0x2d0e05e0cf86d6af47cb150e680d91822c4ce31bc2106fe51d6aba03c948d0b3","urls":["bzz-raw://b27433a4801beb1035837d5494bff7c3edb7984b2a3c131452d65d73124fefd7","dweb:/ipfs/QmaT78rmNpXnpZqs8G5D36Fwd2m2SEaDPRET7iQbP8m7pt"],"license":"Unlicense"}},"version":1},"id":98}
|