[ { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "address", "name": "_voter", "type": "address" }, { "internalType": "address[]", "name": "_assetTokens", "type": "address[]" }, { "internalType": "address[]", "name": "_bribeTokens", "type": "address[]" }, { "internalType": "address", "name": "_vaultFactory", "type": "address" }, { "internalType": "address", "name": "_berachainRewardsVault", "type": "address" }, { "internalType": "string", "name": "_protocol", "type": "string" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_vaultName", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "Plugin__InvalidZeroInput", "type": "error" }, { "inputs": [], "name": "Plugin__NotAuthorizedVoter", "type": "error" }, { "anonymous": false, "inputs": [], "name": "Plugin__ClaimedAnDistributed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Plugin__Deposited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Plugin__Withdrawn", "type": "event" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "BGT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WBERA", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "berachainRewardsVault", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimAndDistribute", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "depositFor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getAssetTokens", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getBribe", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getBribeTokens", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getGauge", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getName", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getProtocol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getRewardVault", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVaultToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getVoter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_bribe", "type": "address" } ], "name": "setBribe", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_gauge", "type": "address" } ], "name": "setGauge", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "withdrawTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e06040523480156200001157600080fd5b5060405162002cb338038062002cb3833981016040819052620000349162000442565b60016000556001600160a01b03808a16608052881660c0528651899089908990899089908890889088906200007190600790602089019062000222565b5084516200008790600890602088019062000222565b506005620000968482620005fe565b506006620000a58382620005fe565b50866001600160a01b031663c544df0c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200010b9190620006ca565b6001600160a01b031660a0526040518190819062000129906200028c565b620001369291906200071d565b604051809103906000f08015801562000153573d6000803e3d6000fd5b50600380546001600160a01b0319166001600160a01b039283169081179091556040516301a0761760e01b81526004810191909152908516906301a07617906024016020604051808303816000875af1158015620001b5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001db9190620006ca565b600480546001600160a01b039283166001600160a01b031991821617909155600b80549e9092169d169c909c17909b55506200074f9e505050505050505050505050505050565b8280548282559060005260206000209081019282156200027a579160200282015b828111156200027a57825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019062000243565b50620002889291506200029a565b5090565b610fba8062001cf983390190565b5b808211156200028857600081556001016200029b565b80516001600160a01b0381168114620002c957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b03811182821017156200030f576200030f620002ce565b604052919050565b600082601f8301126200032957600080fd5b815160206001600160401b03821115620003475762000347620002ce565b8160051b62000358828201620002e4565b92835284810182019282810190878511156200037357600080fd5b83870192505b848310156200039d576200038d83620002b1565b8252918301919083019062000379565b979650505050505050565b60005b83811015620003c5578181015183820152602001620003ab565b50506000910152565b600082601f830112620003e057600080fd5b81516001600160401b03811115620003fc57620003fc620002ce565b62000411601f8201601f1916602001620002e4565b8181528460208386010111156200042757600080fd5b6200043a826020830160208701620003a8565b949350505050565b60008060008060008060008060006101208a8c0312156200046257600080fd5b6200046d8a620002b1565b98506200047d60208b01620002b1565b60408b01519098506001600160401b03808211156200049b57600080fd5b620004a98d838e0162000317565b985060608c0151915080821115620004c057600080fd5b620004ce8d838e0162000317565b9750620004de60808d01620002b1565b9650620004ee60a08d01620002b1565b955060c08c01519150808211156200050557600080fd5b620005138d838e01620003ce565b945060e08c01519150808211156200052a57600080fd5b620005388d838e01620003ce565b93506101008c01519150808211156200055057600080fd5b506200055f8c828d01620003ce565b9150509295985092959850929598565b600181811c908216806200058457607f821691505b602082108103620005a557634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005f957600081815260208120601f850160051c81016020861015620005d45750805b601f850160051c820191505b81811015620005f557828155600101620005e0565b5050505b505050565b81516001600160401b038111156200061a576200061a620002ce565b62000632816200062b84546200056f565b84620005ab565b602080601f8311600181146200066a5760008415620006515750858301515b600019600386901b1c1916600185901b178555620005f5565b600085815260208120601f198616915b828110156200069b578886015182559484019460019091019084016200067a565b5085821015620006ba5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620006dd57600080fd5b620006e882620002b1565b9392505050565b6000815180845262000709816020860160208601620003a8565b601f01601f19169290920160200192915050565b604081526000620007326040830185620006ef565b8281036020840152620007468185620006ef565b95945050505050565b60805160a05160c051611553620007a6600039600081816101e0015281816105d30152610a0001526000505060008181610199015281816104ff0152818161054201528181610b110152610d3101526115536000f3fe6080604052600436106101175760003560e01c806376d0c8641161009a578063d16352af11610061578063d16352af14610366578063dfb89c371461037b578063e33ca83914610390578063e81defce146103a5578063f2803f03146103c557005b806376d0c864146102b85780638df972be146102d6578063905d9075146102f4578063a0417bad1461031c578063d015d5771461034457005b80632f4f21e2116100de5780632f4f21e2146102045780635266f4501461022457806355a68ed3146102445780635f0f4c831461026457806370a082311461028257005b806317d7de7c1461012057806318160ddd1461014b578063205c28781461016a57806321df0da71461018a5780632b37f53c146101d157005b3661011e57005b005b34801561012c57600080fd5b506101356103e3565b6040516101429190611349565b60405180910390f35b34801561015757600080fd5b506009545b604051908152602001610142565b34801561017657600080fd5b5061011e610185366004611398565b610475565b34801561019657600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610142565b3480156101dd57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000006101b9565b34801561021057600080fd5b5061011e61021f366004611398565b6104e1565b34801561023057600080fd5b50600b546101b9906001600160a01b031681565b34801561025057600080fd5b5061011e61025f3660046113c2565b6105c8565b34801561027057600080fd5b506004546001600160a01b03166101b9565b34801561028e57600080fd5b5061015c61029d3660046113c2565b6001600160a01b03166000908152600a602052604090205490565b3480156102c457600080fd5b506003546001600160a01b03166101b9565b3480156102e257600080fd5b506002546001600160a01b03166101b9565b34801561030057600080fd5b506101b973bda130737bdd9618301681329bf2e46a016ff9ad81565b34801561032857600080fd5b506101b9737507c1dc16935b82698e4c63f2746a2fcf994df881565b34801561035057600080fd5b50610359610633565b60405161014291906113e4565b34801561037257600080fd5b50610135610694565b34801561038757600080fd5b5061011e6106a3565b34801561039c57600080fd5b50610359610995565b3480156103b157600080fd5b5061011e6103c03660046113c2565b6109f5565b3480156103d157600080fd5b506001546001600160a01b03166101b9565b6060600680546103f290611431565b80601f016020809104026020016040519081016040528092919081815260200182805461041e90611431565b801561046b5780601f106104405761010080835404028352916020019161046b565b820191906000526020600020905b81548152906001019060200180831161044e57829003601f168201915b5050505050905090565b600b54604051632e1a7d4d60e01b8152600481018390526001600160a01b0390911690632e1a7d4d90602401600060405180830381600087803b1580156104bb57600080fd5b505af11580156104cf573d6000803e3d6000fd5b505050506104dd8282610a60565b5050565b6104eb8282610c6e565b600b5461052f906001600160a01b031660007f00000000000000000000000000000000000000000000000000000000000000005b6001600160a01b03169190610e8d565b600b54610566906001600160a01b0316827f000000000000000000000000000000000000000000000000000000000000000061051f565b600b5460405163534a7e1d60e11b8152600481018390526001600160a01b039091169063a694fc3a90602401600060405180830381600087803b1580156105ac57600080fd5b505af11580156105c0573d6000803e3d6000fd5b505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610611576040516366dce48d60e11b815260040160405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6060600780548060200260200160405190810160405280929190818152602001828054801561046b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161066d575050505050905090565b6060600580546103f290611431565b6106ab610fcd565b600b54604051630c00007b60e41b81523060048201526001600160a01b039091169063c00007b090602401600060405180830381600087803b1580156106f057600080fd5b505af1158015610704573d6000803e3d6000fd5b50505050600061071c6002546001600160a01b031690565b90506000816001600160a01b0316631be052896040518163ffffffff1660e01b8152600401602060405180830381865afa15801561075e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610782919061146b565b604051639203ad5d60e01b815230600482015290915060009073bda130737bdd9618301681329bf2e46a016ff9ad90639203ad5d90602401602060405180830381865afa1580156107d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fb919061146b565b905081811115610990576040516301e9a69560e41b815273bda130737bdd9618301681329bf2e46a016ff9ad90631e9a69509061083e9030908590600401611484565b600060405180830381600087803b15801561085857600080fd5b505af115801561086c573d6000803e3d6000fd5b50505050737507c1dc16935b82698e4c63f2746a2fcf994df86001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156108bf57600080fd5b505af11580156108d3573d6000803e3d6000fd5b506108fc9350737507c1dc16935b82698e4c63f2746a2fcf994df8925086915060009050610e8d565b61091b737507c1dc16935b82698e4c63f2746a2fcf994df88483610e8d565b60405163b66503cf60e01b81526001600160a01b0384169063b66503cf9061095d90737507c1dc16935b82698e4c63f2746a2fcf994df8908590600401611484565b600060405180830381600087803b15801561097757600080fd5b505af115801561098b573d6000803e3d6000fd5b505050505b505050565b6060600880548060200260200160405190810160405280929190818152602001828054801561046b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161066d575050505050905090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a3e576040516366dce48d60e11b815260040160405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610a6861100a565b8080600003610a8a5760405163f6ec1bed60e01b815260040160405180910390fd5b81600954610a9891906114b3565b600955336000908152600a6020526040902054610ab69083906114b3565b336000818152600a6020526040908190209290925590517f3d9b7cdf60349a62a2f52625a9697e0e2782b9ef0985bec5e10de869ec541ac590610afc9085815260200190565b60405180910390a2610b386001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168484611063565b60015460405163b790a77b60e01b81526001600160a01b039091169063b790a77b90610b6a9033908690600401611484565b600060405180830381600087803b158015610b8457600080fd5b505af1158015610b98573d6000803e3d6000fd5b505060048054604051635281244f60e01b81526001600160a01b039091169350635281244f9250610bcd913391879101611484565b600060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b5050600354604051632770a7eb60e21b81526001600160a01b039091169250639dc29fac9150610c319030908690600401611484565b600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b50505050506104dd6001600055565b610c7661100a565b8080600003610c985760405163f6ec1bed60e01b815260040160405180910390fd5b81600954610ca691906114cc565b6009556001600160a01b0383166000908152600a6020526040902054610ccd9083906114cc565b6001600160a01b0384166000818152600a6020526040908190209290925590517f9a5084d92dfc874319b7345834de998ed1154f2ed11a4a6d353cf77a1bdb456e90610d1c9085815260200190565b60405180910390a2610d596001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333085611082565b600154604051631b684ce760e21b81526001600160a01b0390911690636da1339c90610d8b9086908690600401611484565b600060405180830381600087803b158015610da557600080fd5b505af1158015610db9573d6000803e3d6000fd5b50506003546040516340c10f1960e01b81526001600160a01b0390911692506340c10f199150610def9030908690600401611484565b600060405180830381600087803b158015610e0957600080fd5b505af1158015610e1d573d6000803e3d6000fd5b5050600454600354610e3f93506001600160a01b039081169250166000610e8d565b600454600354610e5c916001600160a01b03918216911684610e8d565b60048054604051633c323a1b60e01b81526001600160a01b0390911691633c323a1b91610c31918791879101611484565b801580610f075750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015610ee1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f05919061146b565b155b610f775760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084015b60405180910390fd5b6109908363095ea7b360e01b8484604051602401610f96929190611484565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526110c0565b610fd561100a565b6040517f8fef40a30af028d208f06e01ada64f23e76ce003c6b015a945795b0cb268b53490600090a16110086001600055565b565b60026000540361105c5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610f6e565b6002600055565b6109908363a9059cbb60e01b8484604051602401610f96929190611484565b6040516001600160a01b03808516602483015283166044820152606481018290526110ba9085906323b872dd60e01b90608401610f96565b50505050565b6000611115826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166111959092919063ffffffff16565b905080516000148061113657508080602001905181019061113691906114df565b6109905760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610f6e565b60606111a484846000856111ac565b949350505050565b60608247101561120d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610f6e565b600080866001600160a01b031685876040516112299190611501565b60006040518083038185875af1925050503d8060008114611266576040519150601f19603f3d011682016040523d82523d6000602084013e61126b565b606091505b509150915061127c87838387611287565b979650505050505050565b606083156112f65782516000036112ef576001600160a01b0385163b6112ef5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610f6e565b50816111a4565b6111a4838381511561130b5781518083602001fd5b8060405162461bcd60e51b8152600401610f6e9190611349565b60005b83811015611340578181015183820152602001611328565b50506000910152565b6020815260008251806020840152611368816040850160208701611325565b601f01601f19169190910160400192915050565b80356001600160a01b038116811461139357600080fd5b919050565b600080604083850312156113ab57600080fd5b6113b48361137c565b946020939093013593505050565b6000602082840312156113d457600080fd5b6113dd8261137c565b9392505050565b6020808252825182820181905260009190848201906040850190845b818110156114255783516001600160a01b031683529284019291840191600101611400565b50909695505050505050565b600181811c9082168061144557607f821691505b60208210810361146557634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561147d57600080fd5b5051919050565b6001600160a01b03929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b818103818111156114c6576114c661149d565b92915050565b808201808211156114c6576114c661149d565b6000602082840312156114f157600080fd5b815180151581146113dd57600080fd5b60008251611513818460208701611325565b919091019291505056fea26469706673582212207c728e6dcfbf4db33d8a92bac4678ca21ce3c823b54571e6af83e539669dcd1b64736f6c6343000813003360806040523480156200001157600080fd5b5060405162000fba38038062000fba833981016040819052620000349162000193565b818160036200004483826200028c565b5060046200005382826200028c565b505050620000706200006a6200007860201b60201c565b6200007c565b505062000358565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620000f657600080fd5b81516001600160401b0380821115620001135762000113620000ce565b604051601f8301601f19908116603f011681019082821181831017156200013e576200013e620000ce565b816040528381526020925086838588010111156200015b57600080fd5b600091505b838210156200017f578582018301518183018401529082019062000160565b600093810190920192909252949350505050565b60008060408385031215620001a757600080fd5b82516001600160401b0380821115620001bf57600080fd5b620001cd86838701620000e4565b93506020850151915080821115620001e457600080fd5b50620001f385828601620000e4565b9150509250929050565b600181811c908216806200021257607f821691505b6020821081036200023357634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200028757600081815260208120601f850160051c81016020861015620002625750805b601f850160051c820191505b8181101562000283578281556001016200026e565b5050505b505050565b81516001600160401b03811115620002a857620002a8620000ce565b620002c081620002b98454620001fd565b8462000239565b602080601f831160018114620002f85760008415620002df5750858301515b600019600386901b1c1916600185901b17855562000283565b600085815260208120601f198616915b82811015620003295788860151825594840194600190910190840162000308565b5085821015620003485787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610c5280620003686000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063715018a611610097578063a457c2d711610066578063a457c2d714610209578063a9059cbb1461021c578063dd62ed3e1461022f578063f2fde38b1461024257600080fd5b8063715018a6146101cb5780638da5cb5b146101d357806395d89b41146101ee5780639dc29fac146101f657600080fd5b8063313ce567116100d3578063313ce5671461016b578063395093511461017a57806340c10f191461018d57806370a08231146101a257600080fd5b806306fdde0314610105578063095ea7b31461012357806318160ddd1461014657806323b872dd14610158575b600080fd5b61010d610255565b60405161011a9190610a9c565b60405180910390f35b610136610131366004610b06565b6102e7565b604051901515815260200161011a565b6002545b60405190815260200161011a565b610136610166366004610b30565b610301565b6040516012815260200161011a565b610136610188366004610b06565b610325565b6101a061019b366004610b06565b610347565b005b61014a6101b0366004610b6c565b6001600160a01b031660009081526020819052604090205490565b6101a061035d565b6005546040516001600160a01b03909116815260200161011a565b61010d610371565b6101a0610204366004610b06565b610380565b610136610217366004610b06565b610392565b61013661022a366004610b06565b610412565b61014a61023d366004610b8e565b610420565b6101a0610250366004610b6c565b61044b565b60606003805461026490610bc1565b80601f016020809104026020016040519081016040528092919081815260200182805461029090610bc1565b80156102dd5780601f106102b2576101008083540402835291602001916102dd565b820191906000526020600020905b8154815290600101906020018083116102c057829003601f168201915b5050505050905090565b6000336102f58185856104c4565b60019150505b92915050565b60003361030f8582856105e9565b61031a858585610663565b506001949350505050565b6000336102f58185856103388383610420565b6103429190610bfb565b6104c4565b61034f610807565b6103598282610861565b5050565b610365610807565b61036f6000610920565b565b60606004805461026490610bc1565b610388610807565b6103598282610972565b600033816103a08286610420565b9050838110156104055760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61031a82868684036104c4565b6000336102f5818585610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610453610807565b6001600160a01b0381166104b85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103fc565b6104c181610920565b50565b6001600160a01b0383166105265760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103fc565b6001600160a01b0382166105875760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103fc565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006105f58484610420565b9050600019811461065d57818110156106505760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103fc565b61065d84848484036104c4565b50505050565b6001600160a01b0383166106c75760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103fc565b6001600160a01b0382166107295760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103fc565b6001600160a01b038316600090815260208190526040902054818110156107a15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103fc565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361065d565b6005546001600160a01b0316331461036f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103fc565b6001600160a01b0382166108b75760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103fc565b80600260008282546108c99190610bfb565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166109d25760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016103fc565b6001600160a01b03821660009081526020819052604090205481811015610a465760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016103fc565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016105dc565b600060208083528351808285015260005b81811015610ac957858101830151858201604001528201610aad565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610b0157600080fd5b919050565b60008060408385031215610b1957600080fd5b610b2283610aea565b946020939093013593505050565b600080600060608486031215610b4557600080fd5b610b4e84610aea565b9250610b5c60208501610aea565b9150604084013590509250925092565b600060208284031215610b7e57600080fd5b610b8782610aea565b9392505050565b60008060408385031215610ba157600080fd5b610baa83610aea565b9150610bb860208401610aea565b90509250929050565b600181811c90821680610bd557607f821691505b602082108103610bf557634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102fb57634e487b7160e01b600052601160045260246000fdfea26469706673582212209833fff1f4eb98ea44a7db6cdf2ab4c1de7ac0c8efb963154bea53bc7eb75ef864736f6c63430008130033000000000000000000000000d69adb6fb5fd6d06e6ceec5405d95a37f96e3b96000000000000000000000000cb31ac33f2fa669fd043fa5539f5b28a0bd21339000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000001800000000000000000000000002b6e40f65d82a0cb98795bc7587a71bfa49fbb2b000000000000000000000000e3b9b72ba027fd6c514c0e5ba075ac9c77c23afa00000000000000000000000000000000000000000000000000000000000001c00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000e4aaf1351de4c0264c5c7056ef3777b41bd8e03000000000000000000000000d6d83af58a19cd14ef3cf6fe848c9a4d21e5727c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000007507c1dc16935b82698e4c63f2746a2fcf994df8000000000000000000000000000000000000000000000000000000000000000b4247542053746174696f6e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e42657820484f4e45592d55534443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c4265726164726f6d652053746174696f6e2042657820484f4e45592d55534443205661756c7420546f6b656e0000000000000000000000000000000000000000