forked from balancer/balancer-deployments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GaugeAdderMigrationCoordinator.json
345 lines (345 loc) · 40.2 KB
/
GaugeAdderMigrationCoordinator.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
{
"_format": "hh-sol-artifact-1",
"contractName": "GaugeAdderMigrationCoordinator",
"sourceName": "contracts/20230518-gauge-adder-migration-v3-to-v4/GaugeAdderMigrationCoordinator.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IAuthorizerAdaptor",
"name": "authorizerAdaptor",
"type": "address"
},
{
"internalType": "contract IGaugeAdder",
"name": "_newGaugeAdder",
"type": "address"
},
{
"internalType": "contract IGaugeAdder",
"name": "_oldGaugeAdder",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_ethereumGaugeFactory",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_polygonRootGaugeFactory",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_arbitrumRootGaugeFactory",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_optimismRootGaugeFactory",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_gnosisRootGaugeFactory",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "_polygonZkvmMRootGaugeFactory",
"type": "address"
},
{
"internalType": "address",
"name": "_liquidityMiningCommitteeMultisig",
"type": "address"
},
{
"internalType": "address",
"name": "_gaugeCheckpointingMultisig",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "arbitrumRootGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ethereumGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gaugeCheckpointingMultisig",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gaugeController",
"outputs": [
{
"internalType": "contract IGaugeController",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "getActionId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizerAdaptor",
"outputs": [
{
"internalType": "contract IAuthorizerAdaptor",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentStage",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "stage",
"type": "uint256"
}
],
"name": "getStageActivationTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getStagesLength",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "gnosisRootGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "isComplete",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "liquidityMiningCommitteeMultisig",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "newGaugeAdder",
"outputs": [
{
"internalType": "contract IGaugeAdder",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "oldGaugeAdder",
"outputs": [
{
"internalType": "contract IGaugeAdder",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "optimismRootGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "performNextStage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "polygonRootGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "polygonZkEvmRootGaugeFactory",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registerStages",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x6102406040523480156200001257600080fd5b50604051620022a8380380620022a883398181016040526101608110156200003957600080fd5b5080516020808301516040808501516060860151608087015160a088015160c089015160e08a01516101008b01516101208c0151610140909c015188516311b2515f60e31b815298519b9c999b979a969995989497939692959194919390928d926001600160a01b03841692638d928af892600480840193919291829003018186803b158015620000c957600080fd5b505afa158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051306080526001600160601b0319606091821b811660a0526001600090815592821b811660c0528c821b811660e0528b821b8116610100528a821b81166101405289821b81166101605288821b81166101805287821b81166101a05286821b81166101c05285821b81166101e05284821b8116610200529083901b166102205260408051632c6f4d6f60e11b815290516001600160a01b038d16916358de9ade916004808301926020929190829003018186803b158015620001b757600080fd5b505afa158015620001cc573d6000803e3d6000fd5b505050506040513d6020811015620001e357600080fd5b505160408051632c6f4d6f60e11b815290519192506001600160a01b038c16916358de9ade91600480820192602092909190829003018186803b1580156200022a57600080fd5b505afa1580156200023f573d6000803e3d6000fd5b505050506040513d60208110156200025657600080fd5b50516001600160a01b03828116911614620002a35760405162461bcd60e51b8152600401808060200182810382526028815260200180620022806028913960400191505060405180910390fd5b6001600160601b031960609190911b1661012052505050505050505050505060805160a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6101805160601c6101a05160601c6101c05160601c6101e05160601c6102005160601c6102205160601c611e80620004006000398061041e5250806104665280611a3452508061044252806117cb5250806102e752806116d152508061062f52806115d752508061060b52806114dd52508061071b52806113e35250806104ae52806112e952508061056752508061048a5280611d035250806102c352806109ec5280610b605280610c335280610d065280610dd95280610eac5280610f7f528061105252806111a752806112ad52806113a752806114a1528061159b5280611695528061178f528061197b5280611b945250806106f15250806105435250806104d65250611e806000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c80638d928af8116100d8578063b2fa1c9e1161008c578063e758d36b11610066578063e758d36b146102a9578063eedbe31d146102b1578063fd74e435146102b957610177565b8063b2fa1c9e1461027d578063d6076a6c14610299578063da28cef7146102a157610177565b8063aaabadc5116100bd578063aaabadc514610265578063adcce5351461026d578063b07c0cdc1461027557610177565b80638d928af81461025557806399eecb3b1461025d57610177565b806342c6bfba1161012f57806359ff345c1161011457806359ff345c1461020657806363be9df91461020e578063851c1bb31461021657610177565b806342c6bfba146101f6578063483bc233146101fe57610177565b80631f24cfc7116101605780631f24cfc7146101b55780632b116172146101bf578063321abfae146101ee57610177565b80630f42a2c11461017c5780630f8517bf146101ad575b600080fd5b6101846102c1565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101846102e5565b6101bd610309565b005b6101dc600480360360208110156101d557600080fd5b50356103fb565b60408051918252519081900360200190f35b61018461041c565b610184610440565b610184610464565b610184610488565b6101846104ac565b6101dc6004803603602081101561022c57600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166104d0565b610184610541565b610184610565565b610184610589565b610184610609565b61018461062d565b610285610651565b604080519115158252519081900360200190f35b6101bd61067b565b6101dc6106e9565b6101846106ef565b6101dc610713565b610184610719565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b61031161073d565b6103196106e9565b61032557610325610756565b61032d610651565b1561039957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f416c6c2073746167657320636f6d706c65746564000000000000000000000000604482015290519081900360640190fd5b6103e960016103a6610713565b815481106103b057fe5b90600052602060002090600491828204019190066008029054906101000a90048015611e23021767ffffffffffffffff1663ffffffff16565b6103f1610761565b6103f96107ac565b565b60006002828154811061040a57fe5b90600052602060002001549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527fffffffff000000000000000000000000000000000000000000000000000000008416828401528251602481840301815260449092019092528051910120919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610593610541565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d602081101561060257600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061065c610713565b905060008111801561067557506106716106e9565b8110155b91505090565b61068361073d565b61068b6106e9565b156106e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611e266025913960400191505060405180910390fd5b6103f1610756565b60015490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60025490565b7f000000000000000000000000000000000000000000000000000000000000000081565b61074f600260005414156101906107b3565b6002600055565b6103f96107c56107d5565b60028054600181018255600091909152427f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9091015561079f610651565b156103f9576103f9610838565b6001600055565b816107c1576107c181610949565b5050565b6107cd610976565b6103f9611c06565b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66004820401805460039092166008026101000a67ffffffffffffffff818102199093169390921691909102919091179055565b6000610842611d59565b90508073ffffffffffffffffffffffffffffffffffffffff166336568abe8273ffffffffffffffffffffffffffffffffffffffff1663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a657600080fd5b505afa1580156108ba573d6000803e3d6000fd5b505050506040513d60208110156108d057600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561092e57600080fd5b505af1158015610942573d6000803e3d6000fd5b5050505050565b610973817f42414c0000000000000000000000000000000000000000000000000000000000611da8565b50565b6000610980611d59565b604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f231856fa000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b158015610a3257600080fd5b505afa158015610a46573d6000803e3d6000fd5b505050506040513d6020811015610a5c57600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f457468657265756d0000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610ba957600080fd5b505af1158015610bbd573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f506f6c79676f6e000000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f417262697472756d0000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4f7074696d69736d0000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f476e6f73697300000000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610ef557600080fd5b505af1158015610f09573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f506f6c79676f6e5a6b45766d00000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610fc857600080fd5b505af1158015610fdc573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f5a6b53796e6300000000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b5050604080517f36568abe00000000000000000000000000000000000000000000000000000000815260048101859052306024820152905173ffffffffffffffffffffffffffffffffffffffff861693506336568abe9250604480830192600092919082900301818387803b15801561112757600080fd5b505af115801561113b573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f066edd7a00000000000000000000000000000000000000000000000000000000600482015290516000945073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063851c1bb392506024808301926020929190829003018186803b1580156111ef57600080fd5b505afa158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b15801561129357600080fd5b505af11580156112a7573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260088152602001807f457468657265756d00000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561138d57600080fd5b505af11580156113a1573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260078152602001807f506f6c79676f6e0000000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561148757600080fd5b505af115801561149b573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260088152602001807f417262697472756d00000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561158157600080fd5b505af1158015611595573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260088152602001807f4f7074696d69736d00000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561167b57600080fd5b505af115801561168f573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260068152602001807f476e6f736973000000000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561177557600080fd5b505af1158015611789573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252600c8152602001807f506f6c79676f6e5a6b45766d000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561186f57600080fd5b505af1158015611883573d6000803e3d6000fd5b5050604080517f36568abe00000000000000000000000000000000000000000000000000000000815260048101859052306024820152905173ffffffffffffffffffffffffffffffffffffffff861693506336568abe9250604480830192600092919082900301818387803b1580156118fb57600080fd5b505af115801561190f573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f5bf7143400000000000000000000000000000000000000000000000000000000600482015290516000945073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063851c1bb392506024808301926020929190829003018186803b1580156119c357600080fd5b505afa1580156119d7573d6000803e3d6000fd5b505050506040513d60208110156119ed57600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090841691632f2ff15d9160448082019260009290919082900301818387803b158015611a8a57600080fd5b505af1158015611a9e573d6000803e3d6000fd5b50505050506000611aad6106ef565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611b2357600080fd5b505afa158015611b37573d6000803e3d6000fd5b505050506040513d6020811015611b4d57600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090841691632f2ff15d9160448082019260009290919082900301818387803b158015611bea57600080fd5b505af1158015611bfe573d6000803e3d6000fd5b505050505050565b6000611c10611d59565b90506000611c1c6106ef565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611c9257600080fd5b505afa158015611ca6573d6000803e3d6000fd5b505050506040513d6020811015611cbc57600080fd5b5051604080517fd547741f0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116602483015291519293509084169163d547741f9160448082019260009290919082900301818387803b158015611bea57600080fd5b6000611d63610589565b73ffffffffffffffffffffffffffffffffffffffff1663ec18a1216040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d857600080fd5b7f08c379a000000000000000000000000000000000000000000000000000000000600090815260206004526007602452600a808404818106603090810160081b958390069590950190829004918206850160101b01602363ffffff0060e086901c160160181b0190930160c81b60445260e882901c90606490fd5bfefe436f6f7264696e61746f722073746167657320616c72656164792072656769737465726564a264697066735822122013ab076046535337baef37cc91e73979c6216e24740ed141e7360466b5530a0364736f6c63430007010033476175676520636f6e74726f6c6c657220646f65736e2774206d61746368206f6e20616464657273",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101775760003560e01c80638d928af8116100d8578063b2fa1c9e1161008c578063e758d36b11610066578063e758d36b146102a9578063eedbe31d146102b1578063fd74e435146102b957610177565b8063b2fa1c9e1461027d578063d6076a6c14610299578063da28cef7146102a157610177565b8063aaabadc5116100bd578063aaabadc514610265578063adcce5351461026d578063b07c0cdc1461027557610177565b80638d928af81461025557806399eecb3b1461025d57610177565b806342c6bfba1161012f57806359ff345c1161011457806359ff345c1461020657806363be9df91461020e578063851c1bb31461021657610177565b806342c6bfba146101f6578063483bc233146101fe57610177565b80631f24cfc7116101605780631f24cfc7146101b55780632b116172146101bf578063321abfae146101ee57610177565b80630f42a2c11461017c5780630f8517bf146101ad575b600080fd5b6101846102c1565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6101846102e5565b6101bd610309565b005b6101dc600480360360208110156101d557600080fd5b50356103fb565b60408051918252519081900360200190f35b61018461041c565b610184610440565b610184610464565b610184610488565b6101846104ac565b6101dc6004803603602081101561022c57600080fd5b50357fffffffff00000000000000000000000000000000000000000000000000000000166104d0565b610184610541565b610184610565565b610184610589565b610184610609565b61018461062d565b610285610651565b604080519115158252519081900360200190f35b6101bd61067b565b6101dc6106e9565b6101846106ef565b6101dc610713565b610184610719565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b61031161073d565b6103196106e9565b61032557610325610756565b61032d610651565b1561039957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f416c6c2073746167657320636f6d706c65746564000000000000000000000000604482015290519081900360640190fd5b6103e960016103a6610713565b815481106103b057fe5b90600052602060002090600491828204019190066008029054906101000a90048015611e23021767ffffffffffffffff1663ffffffff16565b6103f1610761565b6103f96107ac565b565b60006002828154811061040a57fe5b90600052602060002001549050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527fffffffff000000000000000000000000000000000000000000000000000000008416828401528251602481840301815260449092019092528051910120919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610593610541565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d857600080fd5b505afa1580156105ec573d6000803e3d6000fd5b505050506040513d602081101561060257600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061065c610713565b905060008111801561067557506106716106e9565b8110155b91505090565b61068361073d565b61068b6106e9565b156106e1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180611e266025913960400191505060405180910390fd5b6103f1610756565b60015490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60025490565b7f000000000000000000000000000000000000000000000000000000000000000081565b61074f600260005414156101906107b3565b6002600055565b6103f96107c56107d5565b60028054600181018255600091909152427f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9091015561079f610651565b156103f9576103f9610838565b6001600055565b816107c1576107c181610949565b5050565b6107cd610976565b6103f9611c06565b6001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66004820401805460039092166008026101000a67ffffffffffffffff818102199093169390921691909102919091179055565b6000610842611d59565b90508073ffffffffffffffffffffffffffffffffffffffff166336568abe8273ffffffffffffffffffffffffffffffffffffffff1663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156108a657600080fd5b505afa1580156108ba573d6000803e3d6000fd5b505050506040513d60208110156108d057600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561092e57600080fd5b505af1158015610942573d6000803e3d6000fd5b5050505050565b610973817f42414c0000000000000000000000000000000000000000000000000000000000611da8565b50565b6000610980611d59565b604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f231856fa000000000000000000000000000000000000000000000000000000006004820152905191925060009173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b158015610a3257600080fd5b505afa158015610a46573d6000803e3d6000fd5b505050506040513d6020811015610a5c57600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b158015610ad657600080fd5b505af1158015610aea573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f457468657265756d0000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610ba957600080fd5b505af1158015610bbd573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600760248201527f506f6c79676f6e000000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610c7c57600080fd5b505af1158015610c90573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f417262697472756d0000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610d4f57600080fd5b505af1158015610d63573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600860248201527f4f7074696d69736d0000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610e2257600080fd5b505af1158015610e36573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f476e6f73697300000000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610ef557600080fd5b505af1158015610f09573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600c60248201527f506f6c79676f6e5a6b45766d00000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b158015610fc857600080fd5b505af1158015610fdc573d6000803e3d6000fd5b5050604080517f231856fa00000000000000000000000000000000000000000000000000000000815260206004820152600660248201527f5a6b53796e6300000000000000000000000000000000000000000000000000006044820152905173ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063231856fa9250606480830192600092919082900301818387803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b5050604080517f36568abe00000000000000000000000000000000000000000000000000000000815260048101859052306024820152905173ffffffffffffffffffffffffffffffffffffffff861693506336568abe9250604480830192600092919082900301818387803b15801561112757600080fd5b505af115801561113b573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f066edd7a00000000000000000000000000000000000000000000000000000000600482015290516000945073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063851c1bb392506024808301926020929190829003018186803b1580156111ef57600080fd5b505afa158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b5051604080517f2f2ff15d00000000000000000000000000000000000000000000000000000000815260048101839052306024820152905191925073ffffffffffffffffffffffffffffffffffffffff841691632f2ff15d9160448082019260009290919082900301818387803b15801561129357600080fd5b505af11580156112a7573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260088152602001807f457468657265756d00000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561138d57600080fd5b505af11580156113a1573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260078152602001807f506f6c79676f6e0000000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561148757600080fd5b505af115801561149b573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260088152602001807f417262697472756d00000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561158157600080fd5b505af1158015611595573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260088152602001807f4f7074696d69736d00000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561167b57600080fd5b505af115801561168f573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825260068152602001807f476e6f736973000000000000000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561177557600080fd5b505af1158015611789573d6000803e3d6000fd5b505050507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663066edd7a7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252600c8152602001807f506f6c79676f6e5a6b45766d000000000000000000000000000000000000000081525060200192505050600060405180830381600087803b15801561186f57600080fd5b505af1158015611883573d6000803e3d6000fd5b5050604080517f36568abe00000000000000000000000000000000000000000000000000000000815260048101859052306024820152905173ffffffffffffffffffffffffffffffffffffffff861693506336568abe9250604480830192600092919082900301818387803b1580156118fb57600080fd5b505af115801561190f573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f5bf7143400000000000000000000000000000000000000000000000000000000600482015290516000945073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016935063851c1bb392506024808301926020929190829003018186803b1580156119c357600080fd5b505afa1580156119d7573d6000803e3d6000fd5b505050506040513d60208110156119ed57600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090841691632f2ff15d9160448082019260009290919082900301818387803b158015611a8a57600080fd5b505af1158015611a9e573d6000803e3d6000fd5b50505050506000611aad6106ef565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611b2357600080fd5b505afa158015611b37573d6000803e3d6000fd5b505050506040513d6020811015611b4d57600080fd5b5051604080517f2f2ff15d0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000081166024830152915192935090841691632f2ff15d9160448082019260009290919082900301818387803b158015611bea57600080fd5b505af1158015611bfe573d6000803e3d6000fd5b505050505050565b6000611c10611d59565b90506000611c1c6106ef565b73ffffffffffffffffffffffffffffffffffffffff1663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611c9257600080fd5b505afa158015611ca6573d6000803e3d6000fd5b505050506040513d6020811015611cbc57600080fd5b5051604080517fd547741f0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116602483015291519293509084169163d547741f9160448082019260009290919082900301818387803b158015611bea57600080fd5b6000611d63610589565b73ffffffffffffffffffffffffffffffffffffffff1663ec18a1216040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d857600080fd5b7f08c379a000000000000000000000000000000000000000000000000000000000600090815260206004526007602452600a808404818106603090810160081b958390069590950190829004918206850160101b01602363ffffff0060e086901c160160181b0190930160c81b60445260e882901c90606490fd5bfefe436f6f7264696e61746f722073746167657320616c72656164792072656769737465726564a264697066735822122013ab076046535337baef37cc91e73979c6216e24740ed141e7360466b5530a0364736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}