forked from balancer/balancer-deployments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathveBALDeploymentCoordinator.json
351 lines (351 loc) · 64.2 KB
/
veBALDeploymentCoordinator.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
346
347
348
349
350
351
{
"_format": "hh-sol-artifact-1",
"contractName": "veBALDeploymentCoordinator",
"sourceName": "contracts/20220322-veBAL-activation/veBALDeploymentCoordinator.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IBalancerMinter",
"name": "balancerMinter",
"type": "address"
},
{
"internalType": "contract IAuthorizerAdaptor",
"name": "authorizerAdaptor",
"type": "address"
},
{
"internalType": "contract IGaugeAdder",
"name": "gaugeAdder",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "ethereumGaugeFactory",
"type": "address"
},
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "singleRecipientGaugeFactory",
"type": "address"
},
{
"internalType": "contract IBALTokenHolderFactory",
"name": "balTokenHolderFactory",
"type": "address"
},
{
"internalType": "uint256",
"name": "activationScheduledTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "thirdStageDelay",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [],
"name": "ARBITRUM_WEIGHT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ETHEREUM_WEIGHT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "LM_COMMITTEE_WEIGHT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "POLYGON_WEIGHT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VEBAL_WEIGHT",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "arbitrumGaugeRecipient",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "firstStageActivationTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getActivationScheduledTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract ICurrentAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizerAdaptor",
"outputs": [
{
"internalType": "contract IAuthorizerAdaptor",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalancerMinter",
"outputs": [
{
"internalType": "contract IBalancerMinter",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getBalancerTokenAdmin",
"outputs": [
{
"internalType": "contract IBalancerTokenAdmin",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getCurrentDeploymentStage",
"outputs": [
{
"internalType": "enum veBALDeploymentCoordinator.DeploymentStage",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGaugeController",
"outputs": [
{
"internalType": "contract IGaugeController",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getThirdStageDelay",
"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": "lmCommitteeMultisig",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "performFirstStage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "performSecondStage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "performThirdStage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "polygonGaugeRecipient",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "secondStageActivationTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "thirdStageActivationTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "veBALGaugeRecipient",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x610200604052600180546001600160a01b031990811673c38c5f97b34e175ffd35407fc91a937300e338601790915560028054821673d2eb7bd802a7ca68d9acd209bec4e664a9abdd7b90811790915560038054831682179055600480549092161790553480156200007057600080fd5b5060405162003ad138038062003ad183398181016040526101008110156200009757600080fd5b5080516020808301516040808501516060860151608087015160a088015160c089015160e090990151600160009081556008805460ff19169055865163e6dec36f60e01b81529651999a979995989497939692959394919390926001600160a01b038c169263e6dec36f92600480840193829003018186803b1580156200011d57600080fd5b505afa15801562000132573d6000803e3d6000fd5b505050506040513d60208110156200014957600080fd5b50516001600160601b0319606082901b16608052604080516311b2515f60e31b815290519192506001600160a01b03831691638d928af891600480820192602092909190829003018186803b158015620001a257600080fd5b505afa158015620001b7573d6000803e3d6000fd5b505050506040513d6020811015620001ce57600080fd5b50516001600160601b0319606091821b811660a0529089901b1660c0526040805163c003969960e01b815290516001600160a01b0383169163c0039699916004808301926020929190829003018186803b1580156200022c57600080fd5b505afa15801562000241573d6000803e3d6000fd5b505050506040513d60208110156200025857600080fd5b50516001600160601b0319606091821b811660e052908a901b166101005260408051632c6f4d6f60e11b815290516001600160a01b038b16916358de9ade916004808301926020929190829003018186803b158015620002b757600080fd5b505afa158015620002cc573d6000803e3d6000fd5b505050506040513d6020811015620002e357600080fd5b50516001600160601b0319606091821b81166101205297811b88166101405295861b8716610160525092841b851661018052921b9092166101a0526101c0526101e052505060805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6101805160601c6101a05160601c6101c0516101e0516136926200043f600039806103505280611df85250806107ae5280611dc95250806130955250806131c852508061247d52806127ac5250806117be5280612367528061244e528061256a52806126b352806128935280612914525080610b885280610cfd5280610de15280611e285280612b275280612dc252806133a45250806112f45280612a7d5250806108c852806108f75280610ed55280610f04525080612ac5525080611e6a525080610fc65280611087528061116f52806112435280612aa152506136926000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c8063761c4023116100e3578063b77984e91161008c578063e6dec36f11610066578063e6dec36f1461028e578063e758d36b14610296578063f5c458ab1461029e57610198565b8063b77984e91461025d578063dc8c9ec61461021d578063dce8b0cd1461028657610198565b80639912b3d4116100bd5780639912b3d414610245578063aaabadc51461024d578063b1e70e801461025557610198565b8063761c40231461022d578063844c7750146102355780638d928af81461023d57610198565b8063336d4dfc1161014557806342979adc1161011f57806342979adc14610215578063463d9e931461021d57806358de9ade1461022557610198565b8063336d4dfc146101fd5780633b54e68014610205578063410c2d8e1461020d57610198565b80631cdd07a4116101765780631cdd07a4146101e35780631e390389146101ed5780632bd46566146101f557610198565b80630249e6fa1461019d5780631235f8a3146101b75780631336e8d4146101db575b600080fd5b6101a56102a6565b60408051918252519081900360200190f35b6101bf6102ac565b604080516001600160a01b039092168252519081900360200190f35b6101a56102bb565b6101eb6102c7565b005b6101a561079e565b6101eb6107a4565b6101a5611dbb565b6101a5611dc7565b6101a5611deb565b6101a5611df6565b6101a5611e1a565b6101bf611e26565b6101bf611e4a565b6101bf611e59565b6101bf611e68565b6101a5611e8c565b6101bf611e92565b6101eb611f05565b610265612a72565b6040518082600381111561027557fe5b815260200191505060405180910390f35b6101bf612a7b565b6101bf612a9f565b6101bf612ac3565b6101bf612ae7565b60065481565b6002546001600160a01b031681565b67025bf6196bd1000081565b6102cf612af6565b600260085460ff1660038111156102e257fe5b1461034e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f7420726561647920666f7220746869726420737461676500000000000000604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000600654014210156103cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806135826027913960400191505060405180910390fd5b60006103d5612ac3565b905060006103e1611e92565b9050806001600160a01b0316632f2ff15d836001600160a01b031663851c1bb363db1ca26060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561045c57600080fd5b505afa158015610470573d6000803e3d6000fd5b505050506040513d602081101561048657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b1580156104e457600080fd5b505af11580156104f8573d6000803e3d6000fd5b5050505061050f600067016345785d8a0000612b0f565b610522600167016345785d8a0000612b0f565b61053560026707c5850872380000612b0f565b610548600367025bf6196bd10000612b0f565b61055a600466f8b0a10e470000612b0f565b806001600160a01b031663d547741f836001600160a01b031663851c1bb363db1ca26060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d60208110156105fd57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561065b57600080fd5b505af115801561066f573d6000803e3d6000fd5b50505050806001600160a01b031663d547741f826001600160a01b031663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106bb57600080fd5b505afa1580156106cf573d6000803e3d6000fd5b505050506040513d60208110156106e557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505042600755505060088054600391907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001835b0217905550505061079c612da3565b565b60055481565b6107ac612af6565b7f000000000000000000000000000000000000000000000000000000000000000042101561083b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f7420726561647920666f722061637469766174696f6e0000000000000000604482015290519081900360640190fd5b600060085460ff16600381111561084e57fe5b146108ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4669727374207374657020616c726561647920706572666f726d656400000000604482015290519081900360640190fd5b60006108c4611e92565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391d148547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252306024830152516044808301926020929190829003018186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b5051610a6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f742042414c2061646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b604080517f9be2a884000000000000000000000000000000000000000000000000000000008152600060048201819052306024830152604482015290516001600160a01b03831691639be2a884916064808301926020929190829003018186803b158015610ad957600080fd5b505afa158015610aed573d6000803e3d6000fd5b505050506040513d6020811015610b0357600080fd5b5051610b7057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f7420417574686f72697a65722061646d696e000000000000000000000000604482015290519081900360640190fd5b6000610b7a612ac3565b9050806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663dfe050316040518163ffffffff1660e01b815260040160206040518083038186803b158015610bdf57600080fd5b505afa158015610bf3573d6000803e3d6000fd5b505050506040513d6020811015610c0957600080fd5b5051604080517ff851a44000000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163f851a44091600480820192602092909190829003018186803b158015610c6657600080fd5b505afa158015610c7a573d6000803e3d6000fd5b505050506040513d6020811015610c9057600080fd5b50516001600160a01b031614610cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806135a9602b913960400191505060405180910390fd5b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5457600080fd5b505afa158015610d68573d6000803e3d6000fd5b505050506040513d6020811015610d7e57600080fd5b50516001600160a01b031614610ddf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806135d4602e913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639fba03a16040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3857600080fd5b505afa158015610e4c573d6000803e3d6000fd5b505050506040513d6020811015610e6257600080fd5b5051600f0b15610ed357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f476175676520747970657320616c726561647920736574000000000000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632f2ff15d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5b57600080fd5b505afa158015610f6f573d6000803e3d6000fd5b505050506040513d6020811015610f8557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561100c57600080fd5b505af1158015611020573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f0f15f4c000000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156110cd57600080fd5b505afa1580156110e1573d6000803e3d6000fd5b505050506040513d60208110156110f757600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561115557600080fd5b505af1158015611169573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630f15f4c06040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111c857600080fd5b505af11580156111dc573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f40c10f1900000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b15801561128957600080fd5b505afa15801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561133a57600080fd5b505af115801561134e573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f92d0d23200000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b1580156113db57600080fd5b505afa1580156113ef573d6000803e3d6000fd5b505050506040513d602081101561140557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561146357600080fd5b505af1158015611477573d6000803e3d6000fd5b505050506114b96040518060400160405280601a81526020017f4c6971756964697479204d696e696e6720436f6d6d6974746565000000000000815250612daa565b6114f76040518060400160405280600581526020017f766542414c000000000000000000000000000000000000000000000000000000815250612daa565b6115356040518060400160405280600881526020017f457468657265756d000000000000000000000000000000000000000000000000815250612daa565b6115736040518060400160405280600781526020017f506f6c79676f6e00000000000000000000000000000000000000000000000000815250612daa565b6115b16040518060400160405280600881526020017f417262697472756d000000000000000000000000000000000000000000000000815250612daa565b816001600160a01b031663d547741f826001600160a01b031663851c1bb36392d0d23260e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561162a57600080fd5b505afa15801561163e573d6000803e3d6000fd5b505050506040513d602081101561165457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b1580156116b257600080fd5b505af11580156116c6573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f3a04f90000000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b15801561175357600080fd5b505afa158015611767573d6000803e3d6000fd5b505050506040513d602081101561177d57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561180457600080fd5b505af1158015611818573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f3a04f90000000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b1580156118a557600080fd5b505afa1580156118b9573d6000803e3d6000fd5b505050506040513d60208110156118cf57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561192d57600080fd5b505af1158015611941573d6000803e3d6000fd5b505050506119746000604051806060016040528060258152602001613532602591396001546001600160a01b0316613091565b6119a360016040518060600160405280602b8152602001613557602b91396002546001600160a01b0316613091565b6119d260036040518060600160405280602d8152602001613602602d91396003546001600160a01b0316613091565b611a0160046040518060600160405280602e815260200161362f602e91396004546001600160a01b0316613091565b816001600160a01b031663d547741f826001600160a01b031663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d6020811015611aa457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b158015611b0257600080fd5b505af1158015611b16573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527fe8de0d4d00000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b158015611ba357600080fd5b505afa158015611bb7573d6000803e3d6000fd5b505050506040513d6020811015611bcd57600080fd5b5051600154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526001600160a01b03909116602483015251604480830192600092919082900301818387803b158015611c3857600080fd5b505af1158015611c4c573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f058a3a2400000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b158015611cd957600080fd5b505afa158015611ced573d6000803e3d6000fd5b505050506040513d6020811015611d0357600080fd5b5051600154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526001600160a01b03909116602483015251604480830192600092919082900301818387803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b505042600555505060088054600191907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016828061078d565b6707c585087238000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b66f8b0a10e47000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b67016345785d8a000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b031681565b6004546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000090565b60075481565b6000611e9c611e68565b6001600160a01b031663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b158015611ed457600080fd5b505afa158015611ee8573d6000803e3d6000fd5b505050506040513d6020811015611efe57600080fd5b5051905090565b611f0d612af6565b600160085460ff166003811115611f2057fe5b14611f8c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f7420726561647920666f72207365636f6e64207374616765000000000000604482015290519081900360640190fd5b6000611f96611e92565b9050611fa0613512565b5060408051610400810182527306df3b2bbb68adc8b0e302443692037ed9f91b42815273072f14b85add63488ddad88f855fda4a99d6ac9b602080830191909152730b09dea16768f0799065c475be02919503cb2a358284015273186084ff790c65088ba694df11758fae4943ee9e6060830152731e19cf2d73a72ef1332c882f20534b6519be027660808301527327c9f71cc31464b906e0006d4fcbc8900f48f15f60a08301527332296969ef14eb0c6d29669c550d4a044913023060c083015273350196326aeaa9b98f1903fb5e8fc2686f85318c60e0830152733e5fa9518ea95c3e533eb377c001702a9aacaa32610100830152734bd6d86debdb9f5413e631ad386c4427dc9d01b26101208301527351735bdfbfe3fc13dea8dc6502e2e95898942961610140830152735d66fff62c17d841935b60df5f07f6cf79bd0f47610160830152735f7fa48d765053f8dd85e052843e12d23e3d7bc561018083015273702605f43471183158938c1a3e5f5a359d7b31ba6101a0830152737b50775383d3d6f0215a8f290f2c9e2eebbeceb26101c0830152737edde0cb05ed19e03a9a47cd5e53fc57fde1c80c6101e0830152738f4205e1604133d1875a3e771ae7e4f2b08656396102008301527390291319f1d4ea3ad4db0dd8fe9e12baf749e8456102208301527396646936b91d6b9d7d0c47c496afbf3d6ec7b6f86102408301527396ba9025311e2f47b840a1f68ed57a3df1ea874761026083015273a02e4b3d18d4e6b8d18ac421fbc3dfff8933c40a61028083015273a6f548df93de924d73be7d25dc02554c6bd66db56102a083015273baeec99c90e3420ec6c1e7a769d2a856d2898e4d6102c083015273bf96189eee9357a95c7719f4f5047f76bde804e56102e083015273e2469f47ab58cf9cf59f9822e3c5de4950a41c4961030083015273e99481dc77691d8e2456e5f3f61c1810adfc150361032083015273ec60a5fef79a92c741cb74fdd6bfc340c0279b0161034083015273edf085f65b4f6c155e13155502ef925c9a75600361036083015273efaa1604e82e1b3af8430b90192c1b9e8197e37761038083015273f4c0dd9b82da36c07605df83c8a416f11724d88b6103a083015273f5aaf7ee8c39b651cebf5f1f50c10631e78e0ef96103c083015273feadd389a5c427952d8fdb8057d6c8ba1156cc566103e083015282517f851c1bb30000000000000000000000000000000000000000000000000000000081527f6440e973000000000000000000000000000000000000000000000000000000006004820152925191926001600160a01b0385811693632f2ff15d937f00000000000000000000000000000000000000000000000000000000000000009092169263851c1bb3926024808301939192829003018186803b1580156123ac57600080fd5b505afa1580156123c0573d6000803e3d6000fd5b505050506040513d60208110156123d657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561243457600080fd5b505af1158015612448573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636440e9737f000000000000000000000000000000000000000000000000000000000000000060026040518363ffffffff1660e01b815260040180836001600160a01b031681526020018260048111156124cc57fe5b815260200192505050600060405180830381600087803b1580156124ef57600080fd5b505af1158015612503573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f6440e97300000000000000000000000000000000000000000000000000000000600482015290516001600160a01b03808716945063d547741f93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156125b057600080fd5b505afa1580156125c4573d6000803e3d6000fd5b505050506040513d60208110156125da57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561263857600080fd5b505af115801561264c573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f5e45a27300000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156126f957600080fd5b505afa15801561270d573d6000803e3d6000fd5b505050506040513d602081101561272357600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561278157600080fd5b505af1158015612795573d6000803e3d6000fd5b506020925060009150505b818110156129025760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ed933188584602081106127e557fe5b60200201516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561282957600080fd5b505af115801561283d573d6000803e3d6000fd5b505050506040513d602081101561285357600080fd5b5051604080517f5e45a2730000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015291519293507f000000000000000000000000000000000000000000000000000000000000000090911691635e45a2739160248082019260009290919082900301818387803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b5050600190930192506127a0915050565b50826001600160a01b031663d547741f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663851c1bb3635e45a27360e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561299c57600080fd5b505afa1580156129b0573d6000803e3d6000fd5b505050506040513d60208110156129c657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b158015612a2457600080fd5b505af1158015612a38573d6000803e3d6000fd5b505042600655505060088054600292507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018361078d565b60085460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6003546001600160a01b031681565b612b086002600054141561019061337a565b6002600055565b612b17612ac3565b6001600160a01b0316634036176a7f00000000000000000000000000000000000000000000000000000000000000007fdb1ca26000000000000000000000000000000000000000000000000000000000856004811115612b7357fe5b856040516024018083600f0b815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612c46578181015183820152602001612c2e565b50505050905090810190601f168015612c735780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612c9357600080fd5b505af1158015612ca7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612cee57600080fd5b8101908080516040519392919084640100000000821115612d0e57600080fd5b908301906020820185811115612d2357600080fd5b8251640100000000811182820188101715612d3d57600080fd5b82525081516020918201929091019080838360005b83811015612d6a578181015183820152602001612d52565b50505050905090810190601f168015612d975780820380516001836020036101000a031916815260200191505b50604052505050505050565b6001600055565b612db2612ac3565b6001600160a01b0316634036176a7f00000000000000000000000000000000000000000000000000000000000000006392d0d23260e01b8460006040516024018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612e32578181015183820152602001612e1a565b50505050905090810190601f168015612e5f5780820380516001836020036101000a031916815260200191505b50604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000988916178152815160e08b901b90981688526001600160a01b0389166004890190815260248901928352835160448a01528351939890975091955060649091019350915080838360005b83811015612f35578181015183820152602001612f1d565b50505050905090810190601f168015612f625780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612f8257600080fd5b505af1158015612f96573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612fdd57600080fd5b8101908080516040519392919084640100000000821115612ffd57600080fd5b90830190602082018581111561301257600080fd5b825164010000000081118282018810171561302c57600080fd5b82525081516020918201929091019080838360005b83811015613059578181015183820152602001613041565b50505050905090810190601f1680156130865780820380516001836020036101000a031916815260200191505b506040525050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b6a46b3b846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561310f5781810151838201526020016130f7565b50505050905090810190601f16801561313c5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561315b57600080fd5b505af115801561316f573d6000803e3d6000fd5b505050506040513d602081101561318557600080fd5b5051604080517f9ed933180000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015291519293506000927f000000000000000000000000000000000000000000000000000000000000000090921691639ed933189160248082019260209290919082900301818787803b15801561321257600080fd5b505af1158015613226573d6000803e3d6000fd5b505050506040513d602081101561323c57600080fd5b5051905061324a818661338c565b613252611e92565b6001600160a01b0316632f2ff15d836001600160a01b031663851c1bb363c107532960e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b1580156132ca57600080fd5b505afa1580156132de573d6000803e3d6000fd5b505050506040513d60208110156132f457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b038716602483015251604480830192600092919082900301818387803b15801561335b57600080fd5b505af115801561336f573d6000803e3d6000fd5b505050505050505050565b8161338857613388816134a5565b5050565b613394612ac3565b6001600160a01b0316634036176a7f0000000000000000000000000000000000000000000000000000000000000000633a04f90060e01b858560405160240180836001600160a01b031681526020018260048111156133ef57fe5b81526040805180830381526020928301825291820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000978816178152815160e08a901b90971687526001600160a01b038816600488019081526024880192835283516044890152835193979096509194506064909101925090808383600083811015612c46578181015183820152602001612c2e565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b604051806104000160405280602090602082028036833750919291505056fe4c6971756964697479204d696e696e6720436f6d6d69747465652042414c20486f6c64657254656d706f7261727920766542414c204c6971756964697479204d696e696e672042414c20486f6c64657244656c61792066726f6d207365636f6e64207374616765206e6f742079657420656c6170736564566f74696e67457363726f77206e6f74206f776e656420627920417574686f72697a657241646170746f724761756765436f6e74726f6c6c6572206e6f74206f776e656420627920417574686f72697a657241646170746f7254656d706f7261727920506f6c79676f6e204c6971756964697479204d696e696e672042414c20486f6c64657254656d706f7261727920417262697472756d204c6971756964697479204d696e696e672042414c20486f6c646572a264697066735822122055dfbb84754ed022b2dc54fd6fc2b1dfb2c0a0bbe6b98c622977d867fce1e82964736f6c63430007010033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101985760003560e01c8063761c4023116100e3578063b77984e91161008c578063e6dec36f11610066578063e6dec36f1461028e578063e758d36b14610296578063f5c458ab1461029e57610198565b8063b77984e91461025d578063dc8c9ec61461021d578063dce8b0cd1461028657610198565b80639912b3d4116100bd5780639912b3d414610245578063aaabadc51461024d578063b1e70e801461025557610198565b8063761c40231461022d578063844c7750146102355780638d928af81461023d57610198565b8063336d4dfc1161014557806342979adc1161011f57806342979adc14610215578063463d9e931461021d57806358de9ade1461022557610198565b8063336d4dfc146101fd5780633b54e68014610205578063410c2d8e1461020d57610198565b80631cdd07a4116101765780631cdd07a4146101e35780631e390389146101ed5780632bd46566146101f557610198565b80630249e6fa1461019d5780631235f8a3146101b75780631336e8d4146101db575b600080fd5b6101a56102a6565b60408051918252519081900360200190f35b6101bf6102ac565b604080516001600160a01b039092168252519081900360200190f35b6101a56102bb565b6101eb6102c7565b005b6101a561079e565b6101eb6107a4565b6101a5611dbb565b6101a5611dc7565b6101a5611deb565b6101a5611df6565b6101a5611e1a565b6101bf611e26565b6101bf611e4a565b6101bf611e59565b6101bf611e68565b6101a5611e8c565b6101bf611e92565b6101eb611f05565b610265612a72565b6040518082600381111561027557fe5b815260200191505060405180910390f35b6101bf612a7b565b6101bf612a9f565b6101bf612ac3565b6101bf612ae7565b60065481565b6002546001600160a01b031681565b67025bf6196bd1000081565b6102cf612af6565b600260085460ff1660038111156102e257fe5b1461034e57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f7420726561647920666f7220746869726420737461676500000000000000604482015290519081900360640190fd5b7f0000000000000000000000000000000000000000000000000000000000000000600654014210156103cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260278152602001806135826027913960400191505060405180910390fd5b60006103d5612ac3565b905060006103e1611e92565b9050806001600160a01b0316632f2ff15d836001600160a01b031663851c1bb363db1ca26060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561045c57600080fd5b505afa158015610470573d6000803e3d6000fd5b505050506040513d602081101561048657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b1580156104e457600080fd5b505af11580156104f8573d6000803e3d6000fd5b5050505061050f600067016345785d8a0000612b0f565b610522600167016345785d8a0000612b0f565b61053560026707c5850872380000612b0f565b610548600367025bf6196bd10000612b0f565b61055a600466f8b0a10e470000612b0f565b806001600160a01b031663d547741f836001600160a01b031663851c1bb363db1ca26060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b1580156105d357600080fd5b505afa1580156105e7573d6000803e3d6000fd5b505050506040513d60208110156105fd57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561065b57600080fd5b505af115801561066f573d6000803e3d6000fd5b50505050806001600160a01b031663d547741f826001600160a01b031663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106bb57600080fd5b505afa1580156106cf573d6000803e3d6000fd5b505050506040513d60208110156106e557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505042600755505060088054600391907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001835b0217905550505061079c612da3565b565b60055481565b6107ac612af6565b7f000000000000000000000000000000000000000000000000000000000000000042101561083b57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4e6f7420726561647920666f722061637469766174696f6e0000000000000000604482015290519081900360640190fd5b600060085460ff16600381111561084e57fe5b146108ba57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f4669727374207374657020616c726561647920706572666f726d656400000000604482015290519081900360640190fd5b60006108c4611e92565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391d148547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526004810192909252306024830152516044808301926020929190829003018186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b5051610a6c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f4e6f742042414c2061646d696e00000000000000000000000000000000000000604482015290519081900360640190fd5b604080517f9be2a884000000000000000000000000000000000000000000000000000000008152600060048201819052306024830152604482015290516001600160a01b03831691639be2a884916064808301926020929190829003018186803b158015610ad957600080fd5b505afa158015610aed573d6000803e3d6000fd5b505050506040513d6020811015610b0357600080fd5b5051610b7057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f7420417574686f72697a65722061646d696e000000000000000000000000604482015290519081900360640190fd5b6000610b7a612ac3565b9050806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663dfe050316040518163ffffffff1660e01b815260040160206040518083038186803b158015610bdf57600080fd5b505afa158015610bf3573d6000803e3d6000fd5b505050506040513d6020811015610c0957600080fd5b5051604080517ff851a44000000000000000000000000000000000000000000000000000000000815290516001600160a01b039092169163f851a44091600480820192602092909190829003018186803b158015610c6657600080fd5b505afa158015610c7a573d6000803e3d6000fd5b505050506040513d6020811015610c9057600080fd5b50516001600160a01b031614610cf1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b8152602001806135a9602b913960400191505060405180910390fd5b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5457600080fd5b505afa158015610d68573d6000803e3d6000fd5b505050506040513d6020811015610d7e57600080fd5b50516001600160a01b031614610ddf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e8152602001806135d4602e913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639fba03a16040518163ffffffff1660e01b815260040160206040518083038186803b158015610e3857600080fd5b505afa158015610e4c573d6000803e3d6000fd5b505050506040513d6020811015610e6257600080fd5b5051600f0b15610ed357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f476175676520747970657320616c726561647920736574000000000000000000604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632f2ff15d7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a217fddf6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5b57600080fd5b505afa158015610f6f573d6000803e3d6000fd5b505050506040513d6020811015610f8557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561100c57600080fd5b505af1158015611020573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f0f15f4c000000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156110cd57600080fd5b505afa1580156110e1573d6000803e3d6000fd5b505050506040513d60208110156110f757600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561115557600080fd5b505af1158015611169573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630f15f4c06040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156111c857600080fd5b505af11580156111dc573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f40c10f1900000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b15801561128957600080fd5b505afa15801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561133a57600080fd5b505af115801561134e573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f92d0d23200000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b1580156113db57600080fd5b505afa1580156113ef573d6000803e3d6000fd5b505050506040513d602081101561140557600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561146357600080fd5b505af1158015611477573d6000803e3d6000fd5b505050506114b96040518060400160405280601a81526020017f4c6971756964697479204d696e696e6720436f6d6d6974746565000000000000815250612daa565b6114f76040518060400160405280600581526020017f766542414c000000000000000000000000000000000000000000000000000000815250612daa565b6115356040518060400160405280600881526020017f457468657265756d000000000000000000000000000000000000000000000000815250612daa565b6115736040518060400160405280600781526020017f506f6c79676f6e00000000000000000000000000000000000000000000000000815250612daa565b6115b16040518060400160405280600881526020017f417262697472756d000000000000000000000000000000000000000000000000815250612daa565b816001600160a01b031663d547741f826001600160a01b031663851c1bb36392d0d23260e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561162a57600080fd5b505afa15801561163e573d6000803e3d6000fd5b505050506040513d602081101561165457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b1580156116b257600080fd5b505af11580156116c6573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f3a04f90000000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b15801561175357600080fd5b505afa158015611767573d6000803e3d6000fd5b505050506040513d602081101561177d57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602483015251604480830192600092919082900301818387803b15801561180457600080fd5b505af1158015611818573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f3a04f90000000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b1580156118a557600080fd5b505afa1580156118b9573d6000803e3d6000fd5b505050506040513d60208110156118cf57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561192d57600080fd5b505af1158015611941573d6000803e3d6000fd5b505050506119746000604051806060016040528060258152602001613532602591396001546001600160a01b0316613091565b6119a360016040518060600160405280602b8152602001613557602b91396002546001600160a01b0316613091565b6119d260036040518060600160405280602d8152602001613602602d91396003546001600160a01b0316613091565b611a0160046040518060600160405280602e815260200161362f602e91396004546001600160a01b0316613091565b816001600160a01b031663d547741f826001600160a01b031663851c1bb3633a04f90060e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d6020811015611aa457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b158015611b0257600080fd5b505af1158015611b16573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527fe8de0d4d00000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b158015611ba357600080fd5b505afa158015611bb7573d6000803e3d6000fd5b505050506040513d6020811015611bcd57600080fd5b5051600154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526001600160a01b03909116602483015251604480830192600092919082900301818387803b158015611c3857600080fd5b505af1158015611c4c573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f058a3a2400000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d935085169163851c1bb3916024808301926020929190829003018186803b158015611cd957600080fd5b505afa158015611ced573d6000803e3d6000fd5b505050506040513d6020811015611d0357600080fd5b5051600154604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16815260048101939093526001600160a01b03909116602483015251604480830192600092919082900301818387803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b505042600555505060088054600191907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016828061078d565b6707c585087238000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b66f8b0a10e47000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b67016345785d8a000081565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b031681565b6004546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000090565b60075481565b6000611e9c611e68565b6001600160a01b031663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b158015611ed457600080fd5b505afa158015611ee8573d6000803e3d6000fd5b505050506040513d6020811015611efe57600080fd5b5051905090565b611f0d612af6565b600160085460ff166003811115611f2057fe5b14611f8c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f4e6f7420726561647920666f72207365636f6e64207374616765000000000000604482015290519081900360640190fd5b6000611f96611e92565b9050611fa0613512565b5060408051610400810182527306df3b2bbb68adc8b0e302443692037ed9f91b42815273072f14b85add63488ddad88f855fda4a99d6ac9b602080830191909152730b09dea16768f0799065c475be02919503cb2a358284015273186084ff790c65088ba694df11758fae4943ee9e6060830152731e19cf2d73a72ef1332c882f20534b6519be027660808301527327c9f71cc31464b906e0006d4fcbc8900f48f15f60a08301527332296969ef14eb0c6d29669c550d4a044913023060c083015273350196326aeaa9b98f1903fb5e8fc2686f85318c60e0830152733e5fa9518ea95c3e533eb377c001702a9aacaa32610100830152734bd6d86debdb9f5413e631ad386c4427dc9d01b26101208301527351735bdfbfe3fc13dea8dc6502e2e95898942961610140830152735d66fff62c17d841935b60df5f07f6cf79bd0f47610160830152735f7fa48d765053f8dd85e052843e12d23e3d7bc561018083015273702605f43471183158938c1a3e5f5a359d7b31ba6101a0830152737b50775383d3d6f0215a8f290f2c9e2eebbeceb26101c0830152737edde0cb05ed19e03a9a47cd5e53fc57fde1c80c6101e0830152738f4205e1604133d1875a3e771ae7e4f2b08656396102008301527390291319f1d4ea3ad4db0dd8fe9e12baf749e8456102208301527396646936b91d6b9d7d0c47c496afbf3d6ec7b6f86102408301527396ba9025311e2f47b840a1f68ed57a3df1ea874761026083015273a02e4b3d18d4e6b8d18ac421fbc3dfff8933c40a61028083015273a6f548df93de924d73be7d25dc02554c6bd66db56102a083015273baeec99c90e3420ec6c1e7a769d2a856d2898e4d6102c083015273bf96189eee9357a95c7719f4f5047f76bde804e56102e083015273e2469f47ab58cf9cf59f9822e3c5de4950a41c4961030083015273e99481dc77691d8e2456e5f3f61c1810adfc150361032083015273ec60a5fef79a92c741cb74fdd6bfc340c0279b0161034083015273edf085f65b4f6c155e13155502ef925c9a75600361036083015273efaa1604e82e1b3af8430b90192c1b9e8197e37761038083015273f4c0dd9b82da36c07605df83c8a416f11724d88b6103a083015273f5aaf7ee8c39b651cebf5f1f50c10631e78e0ef96103c083015273feadd389a5c427952d8fdb8057d6c8ba1156cc566103e083015282517f851c1bb30000000000000000000000000000000000000000000000000000000081527f6440e973000000000000000000000000000000000000000000000000000000006004820152925191926001600160a01b0385811693632f2ff15d937f00000000000000000000000000000000000000000000000000000000000000009092169263851c1bb3926024808301939192829003018186803b1580156123ac57600080fd5b505afa1580156123c0573d6000803e3d6000fd5b505050506040513d60208110156123d657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561243457600080fd5b505af1158015612448573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636440e9737f000000000000000000000000000000000000000000000000000000000000000060026040518363ffffffff1660e01b815260040180836001600160a01b031681526020018260048111156124cc57fe5b815260200192505050600060405180830381600087803b1580156124ef57600080fd5b505af1158015612503573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f6440e97300000000000000000000000000000000000000000000000000000000600482015290516001600160a01b03808716945063d547741f93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156125b057600080fd5b505afa1580156125c4573d6000803e3d6000fd5b505050506040513d60208110156125da57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561263857600080fd5b505af115801561264c573d6000803e3d6000fd5b5050604080517f851c1bb30000000000000000000000000000000000000000000000000000000081527f5e45a27300000000000000000000000000000000000000000000000000000000600482015290516001600160a01b038087169450632f2ff15d93507f0000000000000000000000000000000000000000000000000000000000000000169163851c1bb3916024808301926020929190829003018186803b1580156126f957600080fd5b505afa15801561270d573d6000803e3d6000fd5b505050506040513d602081101561272357600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b15801561278157600080fd5b505af1158015612795573d6000803e3d6000fd5b506020925060009150505b818110156129025760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ed933188584602081106127e557fe5b60200201516040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561282957600080fd5b505af115801561283d573d6000803e3d6000fd5b505050506040513d602081101561285357600080fd5b5051604080517f5e45a2730000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015291519293507f000000000000000000000000000000000000000000000000000000000000000090911691635e45a2739160248082019260009290919082900301818387803b1580156128dd57600080fd5b505af11580156128f1573d6000803e3d6000fd5b5050600190930192506127a0915050565b50826001600160a01b031663d547741f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663851c1bb3635e45a27360e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b15801561299c57600080fd5b505afa1580156129b0573d6000803e3d6000fd5b505050506040513d60208110156129c657600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925230602483015251604480830192600092919082900301818387803b158015612a2457600080fd5b505af1158015612a38573d6000803e3d6000fd5b505042600655505060088054600292507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018361078d565b60085460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6003546001600160a01b031681565b612b086002600054141561019061337a565b6002600055565b612b17612ac3565b6001600160a01b0316634036176a7f00000000000000000000000000000000000000000000000000000000000000007fdb1ca26000000000000000000000000000000000000000000000000000000000856004811115612b7357fe5b856040516024018083600f0b815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612c46578181015183820152602001612c2e565b50505050905090810190601f168015612c735780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612c9357600080fd5b505af1158015612ca7573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612cee57600080fd5b8101908080516040519392919084640100000000821115612d0e57600080fd5b908301906020820185811115612d2357600080fd5b8251640100000000811182820188101715612d3d57600080fd5b82525081516020918201929091019080838360005b83811015612d6a578181015183820152602001612d52565b50505050905090810190601f168015612d975780820380516001836020036101000a031916815260200191505b50604052505050505050565b6001600055565b612db2612ac3565b6001600160a01b0316634036176a7f00000000000000000000000000000000000000000000000000000000000000006392d0d23260e01b8460006040516024018080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612e32578181015183820152602001612e1a565b50505050905090810190601f168015612e5f5780820380516001836020036101000a031916815260200191505b50604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000988916178152815160e08b901b90981688526001600160a01b0389166004890190815260248901928352835160448a01528351939890975091955060649091019350915080838360005b83811015612f35578181015183820152602001612f1d565b50505050905090810190601f168015612f625780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612f8257600080fd5b505af1158015612f96573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612fdd57600080fd5b8101908080516040519392919084640100000000821115612ffd57600080fd5b90830190602082018581111561301257600080fd5b825164010000000081118282018810171561302c57600080fd5b82525081516020918201929091019080838360005b83811015613059578181015183820152602001613041565b50505050905090810190601f1680156130865780820380516001836020036101000a031916815260200191505b506040525050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b6a46b3b846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561310f5781810151838201526020016130f7565b50505050905090810190601f16801561313c5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561315b57600080fd5b505af115801561316f573d6000803e3d6000fd5b505050506040513d602081101561318557600080fd5b5051604080517f9ed933180000000000000000000000000000000000000000000000000000000081526001600160a01b03808416600483015291519293506000927f000000000000000000000000000000000000000000000000000000000000000090921691639ed933189160248082019260209290919082900301818787803b15801561321257600080fd5b505af1158015613226573d6000803e3d6000fd5b505050506040513d602081101561323c57600080fd5b5051905061324a818661338c565b613252611e92565b6001600160a01b0316632f2ff15d836001600160a01b031663851c1bb363c107532960e01b6040518263ffffffff1660e01b815260040180827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200191505060206040518083038186803b1580156132ca57600080fd5b505afa1580156132de573d6000803e3d6000fd5b505050506040513d60208110156132f457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b16815260048101929092526001600160a01b038716602483015251604480830192600092919082900301818387803b15801561335b57600080fd5b505af115801561336f573d6000803e3d6000fd5b505050505050505050565b8161338857613388816134a5565b5050565b613394612ac3565b6001600160a01b0316634036176a7f0000000000000000000000000000000000000000000000000000000000000000633a04f90060e01b858560405160240180836001600160a01b031681526020018260048111156133ef57fe5b81526040805180830381526020928301825291820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000978816178152815160e08a901b90971687526001600160a01b038816600488019081526024880192835283516044890152835193979096509194506064909101925090808383600083811015612c46578181015183820152602001612c2e565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b604051806104000160405280602090602082028036833750919291505056fe4c6971756964697479204d696e696e6720436f6d6d69747465652042414c20486f6c64657254656d706f7261727920766542414c204c6971756964697479204d696e696e672042414c20486f6c64657244656c61792066726f6d207365636f6e64207374616765206e6f742079657420656c6170736564566f74696e67457363726f77206e6f74206f776e656420627920417574686f72697a657241646170746f724761756765436f6e74726f6c6c6572206e6f74206f776e656420627920417574686f72697a657241646170746f7254656d706f7261727920506f6c79676f6e204c6971756964697479204d696e696e672042414c20486f6c64657254656d706f7261727920417262697472756d204c6971756964697479204d696e696e672042414c20486f6c646572a264697066735822122055dfbb84754ed022b2dc54fd6fc2b1dfb2c0a0bbe6b98c622977d867fce1e82964736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}