UNPKG

36 kBJSONView Raw
1{
2 "_format": "hh-sol-artifact-1",
3 "contractName": "RedemptionPool",
4 "sourceName": "contracts/RedemptionPool.sol",
5 "abi": [
6 {
7 "inputs": [
8 {
9 "internalType": "contract FintrollerInterface",
10 "name": "fintroller_",
11 "type": "address"
12 },
13 {
14 "internalType": "contract FyTokenInterface",
15 "name": "fyToken_",
16 "type": "address"
17 }
18 ],
19 "stateMutability": "nonpayable",
20 "type": "constructor"
21 },
22 {
23 "anonymous": false,
24 "inputs": [
25 {
26 "indexed": true,
27 "internalType": "address",
28 "name": "admin",
29 "type": "address"
30 },
31 {
32 "indexed": false,
33 "internalType": "contract Erc20Interface",
34 "name": "token",
35 "type": "address"
36 },
37 {
38 "indexed": false,
39 "internalType": "uint256",
40 "name": "recoverAmount",
41 "type": "uint256"
42 }
43 ],
44 "name": "Recover",
45 "type": "event"
46 },
47 {
48 "anonymous": false,
49 "inputs": [
50 {
51 "indexed": true,
52 "internalType": "address",
53 "name": "account",
54 "type": "address"
55 },
56 {
57 "indexed": false,
58 "internalType": "uint256",
59 "name": "fyTokenAmount",
60 "type": "uint256"
61 },
62 {
63 "indexed": false,
64 "internalType": "uint256",
65 "name": "underlyingAmount",
66 "type": "uint256"
67 }
68 ],
69 "name": "RedeemFyTokens",
70 "type": "event"
71 },
72 {
73 "anonymous": false,
74 "inputs": [
75 {
76 "indexed": true,
77 "internalType": "address",
78 "name": "admin",
79 "type": "address"
80 },
81 {
82 "indexed": false,
83 "internalType": "contract Erc20Interface[]",
84 "name": "nonRecoverableTokens",
85 "type": "address[]"
86 }
87 ],
88 "name": "SetNonRecoverableTokens",
89 "type": "event"
90 },
91 {
92 "anonymous": false,
93 "inputs": [
94 {
95 "indexed": true,
96 "internalType": "address",
97 "name": "account",
98 "type": "address"
99 },
100 {
101 "indexed": false,
102 "internalType": "uint256",
103 "name": "underlyingAmount",
104 "type": "uint256"
105 },
106 {
107 "indexed": false,
108 "internalType": "uint256",
109 "name": "fyTokenAmount",
110 "type": "uint256"
111 }
112 ],
113 "name": "SupplyUnderlying",
114 "type": "event"
115 },
116 {
117 "anonymous": false,
118 "inputs": [
119 {
120 "indexed": true,
121 "internalType": "address",
122 "name": "oldAdmin",
123 "type": "address"
124 },
125 {
126 "indexed": true,
127 "internalType": "address",
128 "name": "newAdmin",
129 "type": "address"
130 }
131 ],
132 "name": "TransferAdmin",
133 "type": "event"
134 },
135 {
136 "inputs": [
137 {
138 "internalType": "contract Erc20Interface",
139 "name": "token",
140 "type": "address"
141 },
142 {
143 "internalType": "uint256",
144 "name": "recoverAmount",
145 "type": "uint256"
146 }
147 ],
148 "name": "_recover",
149 "outputs": [],
150 "stateMutability": "nonpayable",
151 "type": "function"
152 },
153 {
154 "inputs": [],
155 "name": "_renounceAdmin",
156 "outputs": [],
157 "stateMutability": "nonpayable",
158 "type": "function"
159 },
160 {
161 "inputs": [
162 {
163 "internalType": "contract Erc20Interface[]",
164 "name": "tokens",
165 "type": "address[]"
166 }
167 ],
168 "name": "_setNonRecoverableTokens",
169 "outputs": [],
170 "stateMutability": "nonpayable",
171 "type": "function"
172 },
173 {
174 "inputs": [
175 {
176 "internalType": "address",
177 "name": "newAdmin",
178 "type": "address"
179 }
180 ],
181 "name": "_transferAdmin",
182 "outputs": [],
183 "stateMutability": "nonpayable",
184 "type": "function"
185 },
186 {
187 "inputs": [],
188 "name": "admin",
189 "outputs": [
190 {
191 "internalType": "address",
192 "name": "",
193 "type": "address"
194 }
195 ],
196 "stateMutability": "view",
197 "type": "function"
198 },
199 {
200 "inputs": [],
201 "name": "fintroller",
202 "outputs": [
203 {
204 "internalType": "contract FintrollerInterface",
205 "name": "",
206 "type": "address"
207 }
208 ],
209 "stateMutability": "view",
210 "type": "function"
211 },
212 {
213 "inputs": [],
214 "name": "fyToken",
215 "outputs": [
216 {
217 "internalType": "contract FyTokenInterface",
218 "name": "",
219 "type": "address"
220 }
221 ],
222 "stateMutability": "view",
223 "type": "function"
224 },
225 {
226 "inputs": [],
227 "name": "isRedemptionPool",
228 "outputs": [
229 {
230 "internalType": "bool",
231 "name": "",
232 "type": "bool"
233 }
234 ],
235 "stateMutability": "view",
236 "type": "function"
237 },
238 {
239 "inputs": [
240 {
241 "internalType": "uint256",
242 "name": "",
243 "type": "uint256"
244 }
245 ],
246 "name": "nonRecoverableTokens",
247 "outputs": [
248 {
249 "internalType": "contract Erc20Interface",
250 "name": "",
251 "type": "address"
252 }
253 ],
254 "stateMutability": "view",
255 "type": "function"
256 },
257 {
258 "inputs": [
259 {
260 "internalType": "uint256",
261 "name": "fyTokenAmount",
262 "type": "uint256"
263 }
264 ],
265 "name": "redeemFyTokens",
266 "outputs": [
267 {
268 "internalType": "bool",
269 "name": "",
270 "type": "bool"
271 }
272 ],
273 "stateMutability": "nonpayable",
274 "type": "function"
275 },
276 {
277 "inputs": [
278 {
279 "internalType": "uint256",
280 "name": "underlyingAmount",
281 "type": "uint256"
282 }
283 ],
284 "name": "supplyUnderlying",
285 "outputs": [
286 {
287 "internalType": "bool",
288 "name": "",
289 "type": "bool"
290 }
291 ],
292 "stateMutability": "nonpayable",
293 "type": "function"
294 },
295 {
296 "inputs": [],
297 "name": "totalUnderlyingSupply",
298 "outputs": [
299 {
300 "internalType": "uint256",
301 "name": "",
302 "type": "uint256"
303 }
304 ],
305 "stateMutability": "view",
306 "type": "function"
307 }
308 ],
309 "bytecode": "0x608060405234801561001057600080fd5b50604051611d4c380380611d4c8339818101604052604081101561003357600080fd5b5080516020909101516000805460ff1916600117815560048054336101008102610100600160a81b031990921691909117909155604051909182917fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf80908290a35081600060016101000a8154816001600160a01b0302191690836001600160a01b03160217905550600060019054906101000a90046001600160a01b03166001600160a01b03166358f25c506040518163ffffffff1660e01b815260040160206040518083038186803b15801561010957600080fd5b505afa15801561011d573d6000803e3d6000fd5b505050506040513d602081101561013357600080fd5b5050600280546001600160a01b0319166001600160a01b039290921691909117905550611be7806101656000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063dde4bec011610071578063dde4bec014610166578063e02dcb17146101d4578063e6abb5ae146101f1578063ede4c0cc14610217578063f1374d181461021f578063f851a4401461023c576100b4565b8063143a08d4146100b95780631c2872aa146100d357806373805ae2146101015780639e6ae5a01461011d578063bfa2530814610156578063dc3bfba91461015e575b600080fd5b6100c1610244565b60408051918252519081900360200190f35b6100ff600480360360408110156100e957600080fd5b506001600160a01b03813516906020013561024a565b005b6101096106ad565b604080519115158252519081900360200190f35b61013a6004803603602081101561013357600080fd5b50356106b2565b604080516001600160a01b039092168252519081900360200190f35b6100ff6106dc565b61013a610780565b6100ff6004803603602081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460208302840111600160201b831117156101c957600080fd5b50909250905061078f565b610109600480360360208110156101ea57600080fd5b5035610a56565b6100ff6004803603602081101561020757600080fd5b50356001600160a01b0316611018565b61013a61112e565b6101096004803603602081101561023557600080fd5b5035611142565b61013a6116e6565b60015481565b60045461010090046001600160a01b0316331461029e576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b60045460ff1615156001146102ef576040805162461bcd60e51b815260206004820152601260248201527111549497d393d517d253925510531256915160721b604482015290519081900360640190fd5b60008111610337576040805162461bcd60e51b815260206004820152601060248201526f4552525f5245434f5645525f5a45524f60801b604482015290519081900360640190fd5b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561037257600080fd5b505afa158015610386573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156103af57600080fd5b8101908080516040519392919084600160201b8211156103ce57600080fd5b9083019060208201858111156103e357600080fd5b8251600160201b8111828201881017156103fc57600080fd5b82525081516020918201929091019080838360005b83811015610429578181015183820152602001610411565b50505050905090810190601f1680156104565780820380516001836020036101000a031916815260200191505b506040525050508051906020012090506000600380549050905060005b81811015610637576003818154811061048857fe5b6000918252602090912001546001600160a01b038681169116148015906105f45750600381815481106104b757fe5b6000918252602082200154604080516395d89b4160e01b815290516001600160a01b03909216926395d89b4192600480840193829003018186803b1580156104fe57600080fd5b505afa158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561053b57600080fd5b8101908080516040519392919084600160201b82111561055a57600080fd5b90830190602082018581111561056f57600080fd5b8251600160201b81118282018810171561058857600080fd5b82525081516020918201929091019080838360005b838110156105b557818101518382015260200161059d565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b50604052505050805190602001208314155b61062f5760405162461bcd60e51b8152600401808060200182810382526021815260200180611b226021913960400191505060405180910390fd5b600101610473565b50600454610657906001600160a01b0386811691610100900416856116fa565b600454604080516001600160a01b03878116825260208201879052825161010090940416927ff6891c84a6c6af32a6d052172a8acc4c631b1d5057ffa2bc1da268b6938ea2da929181900390910190a250505050565b600181565b600381815481106106c257600080fd5b6000918252602090912001546001600160a01b0316905081565b60045461010090046001600160a01b03163314610730576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b60045460405160009161010090046001600160a01b0316907fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf80908390a360048054610100600160a81b0319169055565b6002546001600160a01b031681565b60045461010090046001600160a01b031633146107e3576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b60045460ff161561082c576040805162461bcd60e51b815260206004820152600e60248201526d11549497d253925510531256915160921b604482015290519081900360640190fd5b8060005b818110156109c95783838281811061084457fe5b905060200201356001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561088c57600080fd5b505afa1580156108a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108c957600080fd5b8101908080516040519392919084600160201b8211156108e857600080fd5b9083019060208201858111156108fd57600080fd5b8251600160201b81118282018810171561091657600080fd5b82525081516020918201929091019080838360005b8381101561094357818101518382015260200161092b565b50505050905090810190601f1680156109705780820380516001836020036101000a031916815260200191505b5060405250505050600384848381811061098657fe5b835460018181018655600095865260209586902090910180546001600160a01b0319166001600160a01b0396909302949094013594909416179091555001610830565b5060048054600160ff1990911617908190556040805160208082528082018690526101009093046001600160a01b0316927fd877543bef27da9036243421e623413c8fdd78d7d183cc93d8f3cddbd657a2ed928792879290918291908201908590850280828437600083820152604051601f909101601f19169092018290039550909350505050a2505050565b6000805460ff16610aa3576040805162461bcd60e51b815260206004820152601260248201527111549497d4915153951490539517d0d0531360721b604482015290519081900360640190fd5b6000805460ff19169055610ab5611af8565b600260009054906101000a90046001600160a01b03166001600160a01b031663da284dcc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0357600080fd5b505afa158015610b17573d6000803e3d6000fd5b505050506040513d6020811015610b2d57600080fd5b5051421015610b7a576040805162461bcd60e51b815260206004820152601460248201527311549497d093d39117d393d517d350551554915160621b604482015290519081900360640190fd5b60008311610bcf576040805162461bcd60e51b815260206004820152601860248201527f4552525f52454445454d5f4659544f4b454e535f5a45524f0000000000000000604482015290519081900360640190fd5b6000546002546040805163162fdba360e01b81526001600160a01b03928316600482015290516101009093049091169163162fdba391602480820192602092909190829003018186803b158015610c2557600080fd5b505afa158015610c39573d6000803e3d6000fd5b505050506040513d6020811015610c4f57600080fd5b5051610ca2576040805162461bcd60e51b815260206004820152601f60248201527f4552525f52454445454d5f4659544f4b454e535f4e4f545f414c4c4f57454400604482015290519081900360640190fd5b600260009054906101000a90046001600160a01b03166001600160a01b0316631a0de6fa6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf057600080fd5b505afa158015610d04573d6000803e3d6000fd5b505050506040513d6020811015610d1a57600080fd5b505160408201819052600114610dc257610d38838260400151611751565b6060830181905282826004811115610d4c57fe5b6004811115610d5757fe5b9052506000905081516004811115610d6b57fe5b14610dbd576040805162461bcd60e51b815260206004820152601e60248201527f4552525f52454445454d5f4659544f4b454e535f4d4154485f4552524f520000604482015290519081900360640190fd5b610dca565b606081018390525b60015481606001511115610e0f5760405162461bcd60e51b815260040180806020018281038252602b815260200180611b43602b913960400191505060405180910390fd5b610e1f600154826060015161177d565b6020830181905282826004811115610e3357fe5b6004811115610e3e57fe5b9052506000905081516004811115610e5257fe5b14610e5957fe5b60208082015160015560025460408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b0390921692639dc29fac926044808401938290030181600087803b158015610eb057600080fd5b505af1158015610ec4573d6000803e3d6000fd5b505050506040513d6020811015610eda57600080fd5b5051610f2d576040805162461bcd60e51b815260206004820152601f60248201527f4552525f535550504c595f554e4445524c59494e475f43414c4c5f4255524e00604482015290519081900360640190fd5b610fc0338260600151600260009054906101000a90046001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8457600080fd5b505afa158015610f98573d6000803e3d6000fd5b505050506040513d6020811015610fae57600080fd5b50516001600160a01b031691906116fa565b6060810151604080518581526020810192909252805133927f885a0ef214a8c0b5d41cbf3cd2292d459773279061790ae6c1e654483828048792908290030190a260019150506000805460ff19166001179055919050565b60045461010090046001600160a01b0316331461106c576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b6001600160a01b0381166110c7576040805162461bcd60e51b815260206004820152601a60248201527f4552525f5345545f41444d494e5f5a45524f5f41444452455353000000000000604482015290519081900360640190fd5b6004546040516001600160a01b0380841692610100900416907fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf8090600090a3600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60005461010090046001600160a01b031681565b6000805460ff1661118f576040805162461bcd60e51b815260206004820152601260248201527111549497d4915153951490539517d0d0531360721b604482015290519081900360640190fd5b6000805460ff191690556111a1611af8565b600260009054906101000a90046001600160a01b03166001600160a01b031663da284dcc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111ef57600080fd5b505afa158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b50514210611261576040805162461bcd60e51b815260206004820152601060248201526f11549497d093d39117d350551554915160821b604482015290519081900360640190fd5b600083116112b6576040805162461bcd60e51b815260206004820152601a60248201527f4552525f535550504c595f554e4445524c59494e475f5a45524f000000000000604482015290519081900360640190fd5b6000546002546040805163e79628ab60e01b81526001600160a01b03928316600482015290516101009093049091169163e79628ab91602480820192602092909190829003018186803b15801561130c57600080fd5b505afa158015611320573d6000803e3d6000fd5b505050506040513d602081101561133657600080fd5b50516113735760405162461bcd60e51b8152600401808060200182810382526021815260200180611b6e6021913960400191505060405180910390fd5b61137f600154846117a0565b604083018190528282600481111561139357fe5b600481111561139e57fe5b90525060009050815160048111156113b257fe5b14611404576040805162461bcd60e51b815260206004820181905260248201527f4552525f535550504c595f554e4445524c59494e475f4d4154485f4552524f52604482015290519081900360640190fd5b6040808201516001556002548151630d06f37d60e11b815291516001600160a01b0390911691631a0de6fa916004808301926020929190829003018186803b15801561144f57600080fd5b505afa158015611463573d6000803e3d6000fd5b505050506040513d602081101561147957600080fd5b505160608201819052600114611521576114978382606001516117c6565b60208301819052828260048111156114ab57fe5b60048111156114b657fe5b90525060009050815160048111156114ca57fe5b1461151c576040805162461bcd60e51b815260206004820181905260248201527f4552525f535550504c595f554e4445524c59494e475f4d4154485f4552524f52604482015290519081900360640190fd5b611529565b602081018390525b600254602080830151604080516340c10f1960e01b81523360048201526024810192909252516001600160a01b03909316926340c10f19926044808401939192918290030181600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505050506040513d60208110156115aa57600080fd5b50516115fd576040805162461bcd60e51b815260206004820152601f60248201527f4552525f535550504c595f554e4445524c59494e475f43414c4c5f4d494e5400604482015290519081900360640190fd5b61168e333085600260009054906101000a90046001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561165157600080fd5b505afa158015611665573d6000803e3d6000fd5b505050506040513d602081101561167b57600080fd5b50516001600160a01b0316929190611805565b6020808201516040805186815292830191909152805133927fc460d7cbd3e39052de48c19518b5af10728a5349bc2870e47b5a67ffc32d200d92908290030190a260019150506000805460ff19166001179055919050565b60045461010090046001600160a01b031681565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261174c908490611865565b505050565b600080826117655750600190506000611776565b600083858161177057fe5b04915091505b9250929050565b600080838311611794575060009050818303611776565b50600390506000611776565b6000808383018481106117b857600092509050611776565b600260009250925050611776565b600080836117d957506000905080611776565b838302838582816117e657fe5b04146117fa57600260009250925050611776565b600092509050611776565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261185f908590611865565b50505050565b60006118a783836040518060400160405280601d81526020017f4552525f534146455f45524332305f4c4f575f4c4556454c5f43414c4c000000815250611919565b80519091501561174c578080602001905160208110156118c657600080fd5b505161174c576040805162461bcd60e51b815260206004820152601e60248201527f4552525f534146455f45524332305f45524332305f4f5045524154494f4e0000604482015290519081900360640190fd5b606061192d846001600160a01b0316611abc565b6119685760405162461bcd60e51b8152600401808060200182810382526023815260200180611b8f6023913960400191505060405180910390fd5b600080856001600160a01b0316856040518082805190602001908083835b602083106119a55780518252601f199092019160209182019101611986565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611a07576040519150601f19603f3d011682016040523d82523d6000602084013e611a0c565b606091505b50915091508115611a20579150611ab59050565b805115611a305780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a7a578181015183820152602001611a62565b50505050905090810190601f168015611aa75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611af057508115155b949350505050565b60408051608081019091528060008152602001600081526020016000815260200160008152509056fe4552525f5245434f5645525f4e4f4e5f5245434f56455241424c455f544f4b454e4552525f52454445454d5f4659544f4b454e535f494e53554646494349454e545f554e4445524c59494e474552525f535550504c595f554e4445524c59494e475f4e4f545f414c4c4f5745444552525f534146455f45524332305f43414c4c5f544f5f4e4f4e5f434f4e5452414354a2646970667358221220504e7960f16a46f68ab102d0a6c00cc3b4e3021515e5b688b79030739924e0a964736f6c63430007060033",
310 "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063dde4bec011610071578063dde4bec014610166578063e02dcb17146101d4578063e6abb5ae146101f1578063ede4c0cc14610217578063f1374d181461021f578063f851a4401461023c576100b4565b8063143a08d4146100b95780631c2872aa146100d357806373805ae2146101015780639e6ae5a01461011d578063bfa2530814610156578063dc3bfba91461015e575b600080fd5b6100c1610244565b60408051918252519081900360200190f35b6100ff600480360360408110156100e957600080fd5b506001600160a01b03813516906020013561024a565b005b6101096106ad565b604080519115158252519081900360200190f35b61013a6004803603602081101561013357600080fd5b50356106b2565b604080516001600160a01b039092168252519081900360200190f35b6100ff6106dc565b61013a610780565b6100ff6004803603602081101561017c57600080fd5b810190602081018135600160201b81111561019657600080fd5b8201836020820111156101a857600080fd5b803590602001918460208302840111600160201b831117156101c957600080fd5b50909250905061078f565b610109600480360360208110156101ea57600080fd5b5035610a56565b6100ff6004803603602081101561020757600080fd5b50356001600160a01b0316611018565b61013a61112e565b6101096004803603602081101561023557600080fd5b5035611142565b61013a6116e6565b60015481565b60045461010090046001600160a01b0316331461029e576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b60045460ff1615156001146102ef576040805162461bcd60e51b815260206004820152601260248201527111549497d393d517d253925510531256915160721b604482015290519081900360640190fd5b60008111610337576040805162461bcd60e51b815260206004820152601060248201526f4552525f5245434f5645525f5a45524f60801b604482015290519081900360640190fd5b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561037257600080fd5b505afa158015610386573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156103af57600080fd5b8101908080516040519392919084600160201b8211156103ce57600080fd5b9083019060208201858111156103e357600080fd5b8251600160201b8111828201881017156103fc57600080fd5b82525081516020918201929091019080838360005b83811015610429578181015183820152602001610411565b50505050905090810190601f1680156104565780820380516001836020036101000a031916815260200191505b506040525050508051906020012090506000600380549050905060005b81811015610637576003818154811061048857fe5b6000918252602090912001546001600160a01b038681169116148015906105f45750600381815481106104b757fe5b6000918252602082200154604080516395d89b4160e01b815290516001600160a01b03909216926395d89b4192600480840193829003018186803b1580156104fe57600080fd5b505afa158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561053b57600080fd5b8101908080516040519392919084600160201b82111561055a57600080fd5b90830190602082018581111561056f57600080fd5b8251600160201b81118282018810171561058857600080fd5b82525081516020918201929091019080838360005b838110156105b557818101518382015260200161059d565b50505050905090810190601f1680156105e25780820380516001836020036101000a031916815260200191505b50604052505050805190602001208314155b61062f5760405162461bcd60e51b8152600401808060200182810382526021815260200180611b226021913960400191505060405180910390fd5b600101610473565b50600454610657906001600160a01b0386811691610100900416856116fa565b600454604080516001600160a01b03878116825260208201879052825161010090940416927ff6891c84a6c6af32a6d052172a8acc4c631b1d5057ffa2bc1da268b6938ea2da929181900390910190a250505050565b600181565b600381815481106106c257600080fd5b6000918252602090912001546001600160a01b0316905081565b60045461010090046001600160a01b03163314610730576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b60045460405160009161010090046001600160a01b0316907fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf80908390a360048054610100600160a81b0319169055565b6002546001600160a01b031681565b60045461010090046001600160a01b031633146107e3576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b60045460ff161561082c576040805162461bcd60e51b815260206004820152600e60248201526d11549497d253925510531256915160921b604482015290519081900360640190fd5b8060005b818110156109c95783838281811061084457fe5b905060200201356001600160a01b03166001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561088c57600080fd5b505afa1580156108a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108c957600080fd5b8101908080516040519392919084600160201b8211156108e857600080fd5b9083019060208201858111156108fd57600080fd5b8251600160201b81118282018810171561091657600080fd5b82525081516020918201929091019080838360005b8381101561094357818101518382015260200161092b565b50505050905090810190601f1680156109705780820380516001836020036101000a031916815260200191505b5060405250505050600384848381811061098657fe5b835460018181018655600095865260209586902090910180546001600160a01b0319166001600160a01b0396909302949094013594909416179091555001610830565b5060048054600160ff1990911617908190556040805160208082528082018690526101009093046001600160a01b0316927fd877543bef27da9036243421e623413c8fdd78d7d183cc93d8f3cddbd657a2ed928792879290918291908201908590850280828437600083820152604051601f909101601f19169092018290039550909350505050a2505050565b6000805460ff16610aa3576040805162461bcd60e51b815260206004820152601260248201527111549497d4915153951490539517d0d0531360721b604482015290519081900360640190fd5b6000805460ff19169055610ab5611af8565b600260009054906101000a90046001600160a01b03166001600160a01b031663da284dcc6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b0357600080fd5b505afa158015610b17573d6000803e3d6000fd5b505050506040513d6020811015610b2d57600080fd5b5051421015610b7a576040805162461bcd60e51b815260206004820152601460248201527311549497d093d39117d393d517d350551554915160621b604482015290519081900360640190fd5b60008311610bcf576040805162461bcd60e51b815260206004820152601860248201527f4552525f52454445454d5f4659544f4b454e535f5a45524f0000000000000000604482015290519081900360640190fd5b6000546002546040805163162fdba360e01b81526001600160a01b03928316600482015290516101009093049091169163162fdba391602480820192602092909190829003018186803b158015610c2557600080fd5b505afa158015610c39573d6000803e3d6000fd5b505050506040513d6020811015610c4f57600080fd5b5051610ca2576040805162461bcd60e51b815260206004820152601f60248201527f4552525f52454445454d5f4659544f4b454e535f4e4f545f414c4c4f57454400604482015290519081900360640190fd5b600260009054906101000a90046001600160a01b03166001600160a01b0316631a0de6fa6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf057600080fd5b505afa158015610d04573d6000803e3d6000fd5b505050506040513d6020811015610d1a57600080fd5b505160408201819052600114610dc257610d38838260400151611751565b6060830181905282826004811115610d4c57fe5b6004811115610d5757fe5b9052506000905081516004811115610d6b57fe5b14610dbd576040805162461bcd60e51b815260206004820152601e60248201527f4552525f52454445454d5f4659544f4b454e535f4d4154485f4552524f520000604482015290519081900360640190fd5b610dca565b606081018390525b60015481606001511115610e0f5760405162461bcd60e51b815260040180806020018281038252602b815260200180611b43602b913960400191505060405180910390fd5b610e1f600154826060015161177d565b6020830181905282826004811115610e3357fe5b6004811115610e3e57fe5b9052506000905081516004811115610e5257fe5b14610e5957fe5b60208082015160015560025460408051632770a7eb60e21b81523360048201526024810187905290516001600160a01b0390921692639dc29fac926044808401938290030181600087803b158015610eb057600080fd5b505af1158015610ec4573d6000803e3d6000fd5b505050506040513d6020811015610eda57600080fd5b5051610f2d576040805162461bcd60e51b815260206004820152601f60248201527f4552525f535550504c595f554e4445524c59494e475f43414c4c5f4255524e00604482015290519081900360640190fd5b610fc0338260600151600260009054906101000a90046001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8457600080fd5b505afa158015610f98573d6000803e3d6000fd5b505050506040513d6020811015610fae57600080fd5b50516001600160a01b031691906116fa565b6060810151604080518581526020810192909252805133927f885a0ef214a8c0b5d41cbf3cd2292d459773279061790ae6c1e654483828048792908290030190a260019150506000805460ff19166001179055919050565b60045461010090046001600160a01b0316331461106c576040805162461bcd60e51b815260206004820152600d60248201526c22a9292fa727aa2fa0a226a4a760991b604482015290519081900360640190fd5b6001600160a01b0381166110c7576040805162461bcd60e51b815260206004820152601a60248201527f4552525f5345545f41444d494e5f5a45524f5f41444452455353000000000000604482015290519081900360640190fd5b6004546040516001600160a01b0380841692610100900416907fbdd36143ee09de60bdefca70680e0f71189b2ed7acee364b53917ad433fdaf8090600090a3600480546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b60005461010090046001600160a01b031681565b6000805460ff1661118f576040805162461bcd60e51b815260206004820152601260248201527111549497d4915153951490539517d0d0531360721b604482015290519081900360640190fd5b6000805460ff191690556111a1611af8565b600260009054906101000a90046001600160a01b03166001600160a01b031663da284dcc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111ef57600080fd5b505afa158015611203573d6000803e3d6000fd5b505050506040513d602081101561121957600080fd5b50514210611261576040805162461bcd60e51b815260206004820152601060248201526f11549497d093d39117d350551554915160821b604482015290519081900360640190fd5b600083116112b6576040805162461bcd60e51b815260206004820152601a60248201527f4552525f535550504c595f554e4445524c59494e475f5a45524f000000000000604482015290519081900360640190fd5b6000546002546040805163e79628ab60e01b81526001600160a01b03928316600482015290516101009093049091169163e79628ab91602480820192602092909190829003018186803b15801561130c57600080fd5b505afa158015611320573d6000803e3d6000fd5b505050506040513d602081101561133657600080fd5b50516113735760405162461bcd60e51b8152600401808060200182810382526021815260200180611b6e6021913960400191505060405180910390fd5b61137f600154846117a0565b604083018190528282600481111561139357fe5b600481111561139e57fe5b90525060009050815160048111156113b257fe5b14611404576040805162461bcd60e51b815260206004820181905260248201527f4552525f535550504c595f554e4445524c59494e475f4d4154485f4552524f52604482015290519081900360640190fd5b6040808201516001556002548151630d06f37d60e11b815291516001600160a01b0390911691631a0de6fa916004808301926020929190829003018186803b15801561144f57600080fd5b505afa158015611463573d6000803e3d6000fd5b505050506040513d602081101561147957600080fd5b505160608201819052600114611521576114978382606001516117c6565b60208301819052828260048111156114ab57fe5b60048111156114b657fe5b90525060009050815160048111156114ca57fe5b1461151c576040805162461bcd60e51b815260206004820181905260248201527f4552525f535550504c595f554e4445524c59494e475f4d4154485f4552524f52604482015290519081900360640190fd5b611529565b602081018390525b600254602080830151604080516340c10f1960e01b81523360048201526024810192909252516001600160a01b03909316926340c10f19926044808401939192918290030181600087803b15801561158057600080fd5b505af1158015611594573d6000803e3d6000fd5b505050506040513d60208110156115aa57600080fd5b50516115fd576040805162461bcd60e51b815260206004820152601f60248201527f4552525f535550504c595f554e4445524c59494e475f43414c4c5f4d494e5400604482015290519081900360640190fd5b61168e333085600260009054906101000a90046001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561165157600080fd5b505afa158015611665573d6000803e3d6000fd5b505050506040513d602081101561167b57600080fd5b50516001600160a01b0316929190611805565b6020808201516040805186815292830191909152805133927fc460d7cbd3e39052de48c19518b5af10728a5349bc2870e47b5a67ffc32d200d92908290030190a260019150506000805460ff19166001179055919050565b60045461010090046001600160a01b031681565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261174c908490611865565b505050565b600080826117655750600190506000611776565b600083858161177057fe5b04915091505b9250929050565b600080838311611794575060009050818303611776565b50600390506000611776565b6000808383018481106117b857600092509050611776565b600260009250925050611776565b600080836117d957506000905080611776565b838302838582816117e657fe5b04146117fa57600260009250925050611776565b600092509050611776565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261185f908590611865565b50505050565b60006118a783836040518060400160405280601d81526020017f4552525f534146455f45524332305f4c4f575f4c4556454c5f43414c4c000000815250611919565b80519091501561174c578080602001905160208110156118c657600080fd5b505161174c576040805162461bcd60e51b815260206004820152601e60248201527f4552525f534146455f45524332305f45524332305f4f5045524154494f4e0000604482015290519081900360640190fd5b606061192d846001600160a01b0316611abc565b6119685760405162461bcd60e51b8152600401808060200182810382526023815260200180611b8f6023913960400191505060405180910390fd5b600080856001600160a01b0316856040518082805190602001908083835b602083106119a55780518252601f199092019160209182019101611986565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611a07576040519150601f19603f3d011682016040523d82523d6000602084013e611a0c565b606091505b50915091508115611a20579150611ab59050565b805115611a305780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a7a578181015183820152602001611a62565b50505050905090810190601f168015611aa75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590611af057508115155b949350505050565b60408051608081019091528060008152602001600081526020016000815260200160008152509056fe4552525f5245434f5645525f4e4f4e5f5245434f56455241424c455f544f4b454e4552525f52454445454d5f4659544f4b454e535f494e53554646494349454e545f554e4445524c59494e474552525f535550504c595f554e4445524c59494e475f4e4f545f414c4c4f5745444552525f534146455f45524332305f43414c4c5f544f5f4e4f4e5f434f4e5452414354a2646970667358221220504e7960f16a46f68ab102d0a6c00cc3b4e3021515e5b688b79030739924e0a964736f6c63430007060033",
311 "linkReferences": {},
312 "deployedLinkReferences": {}
313}