[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_approvalDelay", "type": "uint256" }, { "internalType": "address", "name": "_wavax", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "SafeCast__Exceeds24Bits", "type": "error" }, { "inputs": [], "name": "Uint256x256Math__MulDivOverflow", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountY", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "balX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "balY", "type": "uint256" } ], "name": "FeeTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "NewStratCandidate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "UpgradeStrat", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountX", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountY", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "approvalDelay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountXDesired", "type": "uint256" }, { "internalType": "uint256", "name": "amountYDesired", "type": "uint256" } ], "name": "calcSharesAndAmounts", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" }, { "internalType": "uint256", "name": "amountX", "type": "uint256" }, { "internalType": "uint256", "name": "amountY", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "binsToClaim", "type": "uint256[]" } ], "name": "convertFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountX", "type": "uint256" }, { "internalType": "uint256", "name": "amountY", "type": "uint256" }, { "internalType": "uint256", "name": "amountXMin", "type": "uint256" }, { "internalType": "uint256", "name": "amountYMin", "type": "uint256" } ], "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" }, { "internalType": "uint256", "name": "amountXActual", "type": "uint256" }, { "internalType": "uint256", "name": "amountYActual", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amountX", "type": "uint256" }, { "internalType": "uint256", "name": "amountY", "type": "uint256" }, { "internalType": "uint256", "name": "amountXMin", "type": "uint256" }, { "internalType": "uint256", "name": "amountYMin", "type": "uint256" } ], "name": "depositAVAXPair", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" }, { "internalType": "uint256", "name": "amountXActual", "type": "uint256" }, { "internalType": "uint256", "name": "amountYActual", "type": "uint256" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "name": "getUnderlyingAssets", "outputs": [ { "internalType": "uint256", "name": "totalX", "type": "uint256" }, { "internalType": "uint256", "name": "totalY", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_lbToken", "type": "address" }, { "internalType": "uint256[]", "name": "_id", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" } ], "name": "inCaseLBTokensGetStuck", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "name": "inCaseTokensGetStuck", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_implementation", "type": "address" } ], "name": "proposeStrat", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_strategy", "type": "address" } ], "name": "setStrategyAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stratCandidate", "outputs": [ { "internalType": "address", "name": "implementation", "type": "address" }, { "internalType": "uint256", "name": "proposedTime", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "strategy", "outputs": [ { "internalType": "contract ILBStrategy", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "upgradeStrat", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "want", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" }, { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "wavax", "outputs": [ { "internalType": "contract IWrappedNative", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "amountX", "type": "uint256" }, { "internalType": "uint256", "name": "amountY", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "name": "withdrawAVAXPair", "outputs": [ { "internalType": "uint256", "name": "amountX", "type": "uint256" }, { "internalType": "uint256", "name": "amountY", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040523480156200001157600080fd5b5060405162004b3d38038062004b3d833981016040819052620000349162000269565b8351849084906200004d906003906020850190620000f6565b50805162000063906004906020840190620000f6565b505050620000806200007a620000a060201b60201c565b620000a4565b60016006556080919091526001600160a01b031660a052506200033b9050565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200010490620002fe565b90600052602060002090601f01602090048101928262000128576000855562000173565b82601f106200014357805160ff191683800117855562000173565b8280016001018555821562000173579182015b828111156200017357825182559160200191906001019062000156565b506200018192915062000185565b5090565b5b8082111562000181576000815560010162000186565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001c457600080fd5b81516001600160401b0380821115620001e157620001e16200019c565b604051601f8301601f19908116603f011681019082821181831017156200020c576200020c6200019c565b816040528381526020925086838588010111156200022957600080fd5b600091505b838210156200024d57858201830151818301840152908201906200022e565b838211156200025f5760008385830101525b9695505050505050565b600080600080608085870312156200028057600080fd5b84516001600160401b03808211156200029857600080fd5b620002a688838901620001b2565b95506020870151915080821115620002bd57600080fd5b50620002cc87828801620001b2565b60408701516060880151919550935090506001600160a01b0381168114620002f357600080fd5b939692955090935050565b600181811c908216806200031357607f821691505b602082108114156200033557634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a051614796620003a7600039600081816101f7015281816102ec0152818161113e0152818161125401528181612504015281816125ed015281816126d5015281816127be0152818161362d01526136ab0152600081816106c1015261299b01526147966000f3fe6080604052600436106101e75760003560e01c80638405f1d411610102578063adcdfdcf11610095578063def68a9c11610064578063def68a9c1461068f578063e2d1e75c146106af578063e6685244146106e3578063f2fde38b146106f857600080fd5b8063adcdfdcf1461060f578063cbe361961461062f578063cc177e981461064f578063dd62ed3e1461066f57600080fd5b8063a457c2d7116100d1578063a457c2d71461058f578063a8c62e76146105af578063a9059cbb146105cf578063acd9b446146105ef57600080fd5b80638405f1d414610527578063853828b6146105475780638da5cb5b1461055c57806395d89b411461057a57600080fd5b80632e1a7d4d1161017a5780635b12ff9b116101495780635b12ff9b1461047957806370a0823114610499578063715018a6146104cf57806376dfabb8146104e457600080fd5b80632e1a7d4d146103f5578063313ce5671461042a578063395093511461044657806340ff395b1461046657600080fd5b80631f1fcd51116101b65780631f1fcd511461034557806323b872dd1461037a57806324cfba9f1461039a5780632505c3d9146103ba57600080fd5b806306fdde031461027f578063095ea7b3146102aa578063117be4c2146102da57806318160ddd1461032657600080fd5b3661027a57336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102785760405162461bcd60e51b815260206004820152602660248201527f5661756c744e61746976653a2053656e646572206e6f7420574156415820636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b005b600080fd5b34801561028b57600080fd5b50610294610718565b6040516102a1919061404d565b60405180910390f35b3480156102b657600080fd5b506102ca6102c5366004614095565b6107aa565b60405190151581526020016102a1565b3480156102e657600080fd5b5061030e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016102a1565b34801561033257600080fd5b506002545b6040519081526020016102a1565b34801561035157600080fd5b5061035a6107c2565b604080516001600160a01b039384168152929091166020830152016102a1565b34801561038657600080fd5b506102ca6103953660046140c1565b6108bb565b3480156103a657600080fd5b506102786103b5366004614102565b6108df565b3480156103c657600080fd5b506103da6103d536600461411f565b610994565b604080519384526020840192909252908201526060016102a1565b34801561040157600080fd5b50610415610410366004614151565b610c84565b604080519283526020830191909152016102a1565b34801561043657600080fd5b50604051601281526020016102a1565b34801561045257600080fd5b506102ca610461366004614095565b611115565b6103da61047436600461411f565b611137565b34801561048557600080fd5b50610278610494366004614102565b611346565b3480156104a557600080fd5b506103376104b4366004614102565b6001600160a01b031660009081526020819052604090205490565b3480156104db57600080fd5b506102786116db565b3480156104f057600080fd5b50600754600854610508916001600160a01b03169082565b604080516001600160a01b0390931683526020830191909152016102a1565b34801561053357600080fd5b506103da61054236600461416a565b6116ef565b34801561055357600080fd5b5061027861199a565b34801561056857600080fd5b506005546001600160a01b031661030e565b34801561058657600080fd5b506102946119b7565b34801561059b57600080fd5b506102ca6105aa366004614095565b6119c6565b3480156105bb57600080fd5b5060095461030e906001600160a01b031681565b3480156105db57600080fd5b506102ca6105ea366004614095565b611a41565b3480156105fb57600080fd5b5061027861060a3660046141f7565b611a4f565b34801561061b57600080fd5b5061027861062a3660046142ce565b612020565b34801561063b57600080fd5b5061041561064a366004614151565b61205e565b34801561065b57600080fd5b5061041561066a366004614151565b612202565b34801561067b57600080fd5b5061033761068a366004614351565b612883565b34801561069b57600080fd5b506102786106aa366004614102565b6128ae565b3480156106bb57600080fd5b506103377f000000000000000000000000000000000000000000000000000000000000000081565b3480156106ef57600080fd5b50610278612937565b34801561070457600080fd5b50610278610713366004614102565b612d70565b6060600380546107279061438a565b80601f01602080910402602001604051908101604052809291908181526020018280546107539061438a565b80156107a05780601f10610775576101008083540402835291602001916107a0565b820191906000526020600020905b81548152906001019060200180831161078357829003601f168201915b5050505050905090565b6000336107b8818585612de9565b5060019392505050565b600080600960009054906101000a90046001600160a01b03166001600160a01b03166316dc165b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083c91906143c5565b600960009054906101000a90046001600160a01b03166001600160a01b031663b7d19fc46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561088f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b391906143c5565b915091509091565b6000336108c9858285612f0d565b6108d4858585612f87565b506001949350505050565b6108e761312b565b6009546001600160a01b0316156109405760405162461bcd60e51b815260206004820152601b60248201527f5661756c743a20537472617465677920616c7265616479205365740000000000604482015260640161026f565b600980546001600160a01b0319166001600160a01b0383169081179091556040519081527f7f37d440e85aba7fbf641c4bda5ca4ef669a80bffaacde2aa8d9feb1b048c82c9060200160405180910390a150565b60008060006109a1613185565b60008711806109b05750600086115b6109fc5760405162461bcd60e51b815260206004820152601a60248201527f5661756c743a206465706f7369742063616e6e6f742062652030000000000000604482015260640161026f565b60025415610a745760095460408051634641257d60e01b815281516001600160a01b0390931692634641257d9260048084019391929182900301816000875af1158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a7191906143e2565b50505b610a7e87876116ef565b9194509250905082610abb5760405162461bcd60e51b815260206004820152600660248201526573686172657360d01b604482015260640161026f565b84821015610af85760405162461bcd60e51b815260206004820152600a60248201526930b6b7bab73a1826b4b760b11b604482015260640161026f565b83811015610b355760405162461bcd60e51b815260206004820152600a60248201526930b6b7bab73a18a6b4b760b11b604482015260640161026f565b8115610bc457600954604080516316dc165b60e01b81529051610bc49233926001600160a01b0390911691869183916316dc165b916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb391906143c5565b6001600160a01b03169291906131df565b8015610c1e5760095460408051632df467f160e21b81529051610c1e9233926001600160a01b03909116918591839163b7d19fc4916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b610c28338461324a565b6040805133815260208101849052908101829052606081018490527f36af321ec8d3c75236829c5317affd40ddb308863a1236d2d277a4025cccee1e9060800160405180910390a1610c7a6001600655565b9450945094915050565b600080610c8f613185565b60008311610cdb5760405162461bcd60e51b815260206004820152601960248201527815985d5b1d0e88189d5c9b880c081b9bdd08185b1b1bddd959603a1b604482015260640161026f565b33600090815260208190526040902054831115610cf757600080fd5b6000610d0260025490565b9050610d0e3385613309565b60008185600960009054906101000a90046001600160a01b03166001600160a01b0316633b6bc1a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d899190614406565b610d939190614435565b610d9d919061446a565b905060008286600960009054906101000a90046001600160a01b03166001600160a01b0316637d3db0676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e1a9190614406565b610e249190614435565b610e2e919061446a565b600954604080516335a7476b60e21b815290519293506000928392610f28926001600160a01b0390911691829163d69d1dac91600480830192889291908290030181865afa158015610e84573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eac919081019061448c565b600960009054906101000a90046001600160a01b03166001600160a01b031663625af7676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2391906143c5565b61343b565b915091506000806000841180610f3e5750600083115b15610fef5760008a6001610f5a8a670de0b6b3a7640000614435565b610f649190614512565b610f6e919061446a565b610f79906001614529565b600954604051639c8f9f2360e01b8152600481018390529192506001600160a01b031690639c8f9f239060240160408051808303816000875af1158015610fc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe891906143e2565b9093509150505b610ff98287614529565b98506110058186614529565b9750881561105f57600954604080516316dc165b60e01b8152905161105f926001600160a01b03169133918d9184916316dc165b916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b87156110b75760095460408051632df467f160e21b815290516110b7926001600160a01b03169133918c91849163b7d19fc4916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b60408051338152602081018b9052908101899052606081018b90527f02f25270a4d87bea75db541cdfe559334a275b4a233520ed6c0a2429667cca949060800160405180910390a1505050505050506111106001600655565b915091565b6000336107b88185856111288383612883565b6111329190614529565b612de9565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316600960009054906101000a90046001600160a01b03166001600160a01b03166316dc165b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156111b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111dd91906143c5565b6001600160a01b03161415611237573487146112375760405162461bcd60e51b815260206004820152601960248201527813985d1a5d994e88105b5bdd5b9d1cc81b9bdd08195c5d585b603a1b604482015260640161026f565b60095460408051632df467f160e21b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811693169163b7d19fc49160048083019260209291908290030181865afa1580156112a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c691906143c5565b6001600160a01b03161415611320573486146113205760405162461bcd60e51b815260206004820152601960248201527813985d1a5d994e88105b5bdd5b9d1cc81b9bdd08195c5d585b603a1b604482015260640161026f565b61132a333461362b565b61133687878787610994565b9199909850909650945050505050565b61134e61312b565b806001600160a01b031663fbfa77cf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b091906143c5565b6001600160a01b0316306001600160a01b03161461141a5760405162461bcd60e51b815260206004820152602160248201527f50726f706f73616c206e6f742076616c696420666f722074686973205661756c6044820152601d60fa1b606482015260840161026f565b600954604080516316dc165b60e01b815290516001600160a01b03928316928492908316916316dc165b916004808201926020929091908290030181865afa15801561146a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148e91906143c5565b6001600160a01b0316826001600160a01b03166316dc165b6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114f991906143c5565b6001600160a01b03161461154f5760405162461bcd60e51b815260206004820152601c60248201527f50726f706f73616c3a20746f6b656e732058206e6f74206d6174636800000000604482015260640161026f565b806001600160a01b031663b7d19fc46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b191906143c5565b6001600160a01b0316826001600160a01b031663b7d19fc46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161c91906143c5565b6001600160a01b0316146116725760405162461bcd60e51b815260206004820152601c60248201527f50726f706f73616c3a20746f6b656e732059206e6f74206d6174636800000000604482015260640161026f565b6040805180820182526001600160a01b038516808252426020928301819052600780546001600160a01b0319168317905560085591519182527f1aae2ec5647db56da2d513de40528ba3565c6057525637050660c4323bbac7df910160405180910390a1505050565b6116e361312b565b6116ed60006136d6565b565b6000806000806116fe60025490565b600954604080516335a7476b60e21b815290519293506000928392611754926001600160a01b0390911691829163d69d1dac91600480830192889291908290030181865afa158015610e84573d6000803e3d6000fd5b91509150600960009054906101000a90046001600160a01b03166001600160a01b0316633b6bc1a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156117ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cf9190614406565b6117d99083614529565b9150600960009054906101000a90046001600160a01b03166001600160a01b0316637d3db0676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561182e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118529190614406565b61185c9082614529565b905082158061186b5750600082115b806118765750600081115b61188257611882614541565b8261189e578794508693506118978585613728565b9550611990565b816118bb57869350806118b18486614435565b611897919061446a565b806118ce57879450816118b18487614435565b60006118ec6118dd838b614435565b6118e7858b614435565b613740565b9050600081116119265760405162461bcd60e51b815260206004820152600560248201526463726f737360d81b604482015260640161026f565b81611932600183614512565b61193c919061446a565b611947906001614529565b955082611955600183614512565b61195f919061446a565b61196a906001614529565b945081836119788684614435565b611982919061446a565b61198c919061446a565b9650505b5050509250925092565b336000908152602081905260409020546119b390610c84565b5050565b6060600480546107279061438a565b600033816119d48286612883565b905083811015611a345760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b606482015260840161026f565b6108d48286868403612de9565b6000336107b8818585612f87565b600954604080516334f1f9b160e01b815290516000926001600160a01b0316916334f1f9b19160048083019260209291908290030181865afa158015611a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611abd91906143c5565b9050806001600160a01b031663e584b654600960009054906101000a90046001600160a01b03166001600160a01b03166359f571e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b4591906143c5565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260016024820152604401600060405180830381600087803b158015611b8d57600080fd5b505af1158015611ba1573d6000803e3d6000fd5b505050506000825167ffffffffffffffff811115611bc157611bc161418c565b604051908082528060200260200182016040528015611bea578160200160208202803683370190505b50905060005b8351811015611cc9576000836001600160a01b031662fdd58e30878581518110611c1c57611c1c614557565b60200260200101516040518363ffffffff1660e01b8152600401611c559291906001600160a01b03929092168252602082015260400190565b602060405180830381865afa158015611c72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c969190614406565b905080838381518110611cab57611cab614557565b60209081029190910101525080611cc18161456d565b915050611bf0565b50600080600960009054906101000a90046001600160a01b03166001600160a01b03166359f571e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4491906143c5565b6001600160a01b031663c22159b6600960009054906101000a90046001600160a01b03166001600160a01b03166316dc165b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611da5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc991906143c5565b600960009054906101000a90046001600160a01b03166001600160a01b031663b7d19fc46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4091906143c5565b600960009054906101000a90046001600160a01b03166001600160a01b031663c5bf38326040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e93573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb79190614588565b6000808b8a30426040518a63ffffffff1660e01b8152600401611ee2999897969594939291906145e7565b60408051808303816000875af1158015611f00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f2491906143e2565b91509150611f32828261374f565b836001600160a01b031663e584b654600960009054906101000a90046001600160a01b03166001600160a01b03166359f571e86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb891906143c5565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152600060248201526044015b600060405180830381600087803b15801561200157600080fd5b505af1158015612015573d6000803e3d6000fd5b505050505050505050565b61202861312b565b6040516305feb5ff60e21b81526001600160a01b038616906317fad7fc90611fe79030903390899089908990899060040161468b565b600080600061206c60025490565b90508061207f5750600093849350915050565b600954604080516335a7476b60e21b815290516120cd926001600160a01b031691829163d69d1dac916004808201926000929091908290030181865afa158015610e84573d6000803e3d6000fd5b60095460408051633b6bc1a760e01b815290519396509194506001600160a01b031691633b6bc1a7916004808201926020929091908290030181865afa15801561211b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061213f9190614406565b6121499084614529565b9250600960009054906101000a90046001600160a01b03166001600160a01b0316637d3db0676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561219e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121c29190614406565b6121cc9083614529565b9150806121d98585614435565b6121e3919061446a565b9250806121f08584614435565b6121fa919061446a565b915050915091565b60008061220d613185565b600083116122595760405162461bcd60e51b815260206004820152601960248201527815985d5b1d0e88189d5c9b880c081b9bdd08185b1b1bddd959603a1b604482015260640161026f565b3360009081526020819052604090205483111561227557600080fd5b600061228060025490565b905061228c3385613309565b60008185600960009054906101000a90046001600160a01b03166001600160a01b0316633b6bc1a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156122e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123079190614406565b6123119190614435565b61231b919061446a565b905060008286600960009054906101000a90046001600160a01b03166001600160a01b0316637d3db0676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123989190614406565b6123a29190614435565b6123ac919061446a565b600954604080516335a7476b60e21b815290519293506000928392612402926001600160a01b0390911691829163d69d1dac91600480830192889291908290030181865afa158015610e84573d6000803e3d6000fd5b9150915060008060008411806124185750600083115b156124c95760008a60016124348a670de0b6b3a7640000614435565b61243e9190614512565b612448919061446a565b612453906001614529565b600954604051639c8f9f2360e01b8152600481018390529192506001600160a01b031690639c8f9f239060240160408051808303816000875af115801561249e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124c291906143e2565b9093509150505b6124d38287614529565b98506124df8186614529565b975088156126b257600954604080516316dc165b60e01b815290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081169316916316dc165b9160048083019260209291908290030181865afa158015612552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257691906143c5565b6001600160a01b0316141561266057600954604080516316dc165b60e01b815290516125d7926001600160a01b03169130918d9184916316dc165b916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b604051632e1a7d4d60e01b8152600481018a90527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561263957600080fd5b505af115801561264d573d6000803e3d6000fd5b5050505061265b338a613bcb565b6126b2565b600954604080516316dc165b60e01b815290516126b2926001600160a01b03169133918d9184916316dc165b916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b87156110b75760095460408051632df467f160e21b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811693169163b7d19fc49160048083019260209291908290030181865afa158015612723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061274791906143c5565b6001600160a01b031614156128315760095460408051632df467f160e21b815290516127a8926001600160a01b03169130918c91849163b7d19fc4916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b604051632e1a7d4d60e01b8152600481018990527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561280a57600080fd5b505af115801561281e573d6000803e3d6000fd5b5050505061282c3389613bcb565b6110b7565b60095460408051632df467f160e21b815290516110b7926001600160a01b03169133918c91849163b7d19fc4916004808201926020929091908290030181865afa158015610b8f573d6000803e3d6000fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6128b661312b565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156128fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129219190614406565b90506119b36001600160a01b0383163383613c6e565b61293f61312b565b6007546001600160a01b0316806129905760405162461bcd60e51b81526020600482015260156024820152745468657265206973206e6f2063616e64696461746560581b604482015260640161026f565b60085442906129c0907f000000000000000000000000000000000000000000000000000000000000000090614529565b10612a045760405162461bcd60e51b815260206004820152601460248201527311195b185e481a185cc81b9bdd081c185cdcd95960621b604482015260640161026f565b6040516001600160a01b03821681527f7f37d440e85aba7fbf641c4bda5ca4ef669a80bffaacde2aa8d9feb1b048c82c9060200160405180910390a1600960009054906101000a90046001600160a01b03166001600160a01b031663fb6177876040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612a9057600080fd5b505af1158015612aa4573d6000803e3d6000fd5b5050600980546001600160a01b0385166001600160a01b0319918216811790925560078054909116905564012a05f200600855604080516316dc165b60e01b81529051600094509192506316dc165b9160048083019260209291908290030181865afa158015612b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3c91906143c5565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015612b82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba69190614406565b90506000600960009054906101000a90046001600160a01b03166001600160a01b031663b7d19fc46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2191906143c5565b6040516370a0823160e01b81523060048201526001600160a01b0391909116906370a0823190602401602060405180830381865afa158015612c67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c8b9190614406565b90508115612d1657600954604080516316dc165b60e01b81529051612d16926001600160a01b031691859183916316dc165b9160048083019260209291908290030181865afa158015612ce2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d0691906143c5565b6001600160a01b03169190613c6e565b8015612d6b5760095460408051632df467f160e21b81529051612d6b926001600160a01b0316918491839163b7d19fc49160048083019260209291908290030181865afa158015612ce2573d6000803e3d6000fd5b505050565b612d7861312b565b6001600160a01b038116612ddd5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161026f565b612de6816136d6565b50565b6001600160a01b038316612e4b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161026f565b6001600160a01b038216612eac5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161026f565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000612f198484612883565b90506000198114612f815781811015612f745760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161026f565b612f818484848403612de9565b50505050565b6001600160a01b038316612feb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161026f565b6001600160a01b03821661304d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161026f565b6001600160a01b038316600090815260208190526040902054818110156130c55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161026f565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3612f81565b6005546001600160a01b031633146116ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161026f565b600260065414156131d85760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161026f565b6002600655565b6040516001600160a01b0380851660248301528316604482015260648101829052612f819085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613c9e565b6001600160a01b0382166132a05760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161026f565b80600260008282546132b29190614529565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6001600160a01b0382166133695760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161026f565b6001600160a01b038216600090815260208190526040902054818110156133dd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161026f565b6001600160a01b0383166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b60008060005b845181101561362257600061346e86838151811061346157613461614557565b6020026020010151613d73565b604051627eeac760e11b81526001600160a01b03898116600483015262ffffff8316602483015291925060009187169062fdd58e90604401602060405180830381865afa1580156134c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e79190614406565b604051630157d2d160e31b815262ffffff8416600482015290915060009081906001600160a01b03891690630abe9688906024016040805180830381865afa158015613537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061355b91906146ef565b60405163bd85b03960e01b815262ffffff871660048201526001600160801b039283169450911691506000906001600160a01b038a169063bd85b03990602401602060405180830381865afa1580156135b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135dc9190614406565b90506135e9848483613d9e565b6135f39089614529565b9750613600848383613d9e565b61360a9088614529565b965050505050508061361b9061456d565b9050613441565b50935093915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561368657600080fd5b505af115801561369a573d6000803e3d6000fd5b506119b39350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915084905083613c6e565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008183116137375781613739565b825b9392505050565b60008183106137375781613739565b60095460408051631dba83a760e21b815290516000926001600160a01b0316916376ea0e9c9160048083019260209291908290030181865afa158015613799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137bd9190614406565b90506000600960009054906101000a90046001600160a01b03166001600160a01b031663bc063e1a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613814573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906138389190614406565b905060008411806138495750600083115b15612f815760008161385b8487614435565b613865919061446a565b90506000826138748587614435565b61387e919061446a565b9050600061388c8388614512565b9050600061389a8388614512565b90508715613a12576009546040805163011a412160e61b8152905161395a926001600160a01b03169163469048409160048083019260209291908290030181865afa1580156138ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061391191906143c5565b600954604080516316dc165b60e01b8152905188926001600160a01b0316916316dc165b9160048083019260209291908290030181865afa158015612ce2573d6000803e3d6000fd5b60095460408051630ff2534360e11b81529051613a12926001600160a01b031691631fe4a6869160048083019260209291908290030181865afa1580156139a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139c991906143c5565b600954604080516316dc165b60e01b8152905186926001600160a01b0316916316dc165b9160048083019260209291908290030181865afa158015612ce2573d6000803e3d6000fd5b8615613b88576009546040805163011a412160e61b81529051613ad0926001600160a01b03169163469048409160048083019260209291908290030181865afa158015613a63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a8791906143c5565b60095460408051632df467f160e21b8152905187926001600160a01b03169163b7d19fc49160048083019260209291908290030181865afa158015612ce2573d6000803e3d6000fd5b60095460408051630ff2534360e11b81529051613b88926001600160a01b031691631fe4a6869160048083019260209291908290030181865afa158015613b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b3f91906143c5565b60095460408051632df467f160e21b8152905185926001600160a01b03169163b7d19fc49160048083019260209291908290030181865afa158015612ce2573d6000803e3d6000fd5b60408051898152602081018990527fa7c6af6a22d5345bc72b5ef81392277a7ca531789c7ede57de8554fa8a346cbc910160405180910390a15050505050505050565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114613c18576040519150601f19603f3d011682016040523d82523d6000602084013e613c1d565b606091505b5050905080612d6b5760405162461bcd60e51b815260206004820181905260248201527f5661756c744e61746976653a204661696c656420746f2053656e642041564158604482015260640161026f565b6040516001600160a01b038316602482015260448101829052612d6b90849063a9059cbb60e01b90606401613213565b6000613cf3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613dc89092919063ffffffff16565b9050805160001480613d14575080806020019051810190613d149190614722565b612d6b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161026f565b8062ffffff81168114613d9957604051639b63641560e01b815260040160405180910390fd5b919050565b6000806000613dad8686613ddf565b91509150613dbe8686868585613dfe565b9695505050505050565b6060613dd78484600085613eab565b949350505050565b6000806000198385098385029250828110838203039150509250929050565b600081613e1c57838381613e1457613e14614454565b049050613ea2565b838210613e3c576040516313eae71560e01b815260040160405180910390fd5b60008486880960018619810187169687900496600081900381900490910186831190950394850291909503949094049390931792505060026003840281188085028203028085028203028085028203028085028203028085028203028085029091030282025b95945050505050565b606082471015613f0c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161026f565b600080866001600160a01b03168587604051613f289190614744565b60006040518083038185875af1925050503d8060008114613f65576040519150601f19603f3d011682016040523d82523d6000602084013e613f6a565b606091505b5091509150613f7b87838387613f86565b979650505050505050565b60608315613ff2578251613feb576001600160a01b0385163b613feb5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161026f565b5081613dd7565b613dd783838151156140075781518083602001fd5b8060405162461bcd60e51b815260040161026f919061404d565b60005b8381101561403c578181015183820152602001614024565b83811115612f815750506000910152565b602081526000825180602084015261406c816040850160208701614021565b601f01601f19169190910160400192915050565b6001600160a01b0381168114612de657600080fd5b600080604083850312156140a857600080fd5b82356140b381614080565b946020939093013593505050565b6000806000606084860312156140d657600080fd5b83356140e181614080565b925060208401356140f181614080565b929592945050506040919091013590565b60006020828403121561411457600080fd5b813561373981614080565b6000806000806080858703121561413557600080fd5b5050823594602084013594506040840135936060013592509050565b60006020828403121561416357600080fd5b5035919050565b6000806040838503121561417d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156141cb576141cb61418c565b604052919050565b600067ffffffffffffffff8211156141ed576141ed61418c565b5060051b60200190565b6000602080838503121561420a57600080fd5b823567ffffffffffffffff81111561422157600080fd5b8301601f8101851361423257600080fd5b8035614245614240826141d3565b6141a2565b81815260059190911b8201830190838101908783111561426457600080fd5b928401925b82841015613f7b57833582529284019290840190614269565b60008083601f84011261429457600080fd5b50813567ffffffffffffffff8111156142ac57600080fd5b6020830191508360208260051b85010111156142c757600080fd5b9250929050565b6000806000806000606086880312156142e657600080fd5b85356142f181614080565b9450602086013567ffffffffffffffff8082111561430e57600080fd5b61431a89838a01614282565b9096509450604088013591508082111561433357600080fd5b5061434088828901614282565b969995985093965092949392505050565b6000806040838503121561436457600080fd5b823561436f81614080565b9150602083013561437f81614080565b809150509250929050565b600181811c9082168061439e57607f821691505b602082108114156143bf57634e487b7160e01b600052602260045260246000fd5b50919050565b6000602082840312156143d757600080fd5b815161373981614080565b600080604083850312156143f557600080fd5b505080516020909101519092909150565b60006020828403121561441857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561444f5761444f61441f565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261448757634e487b7160e01b600052601260045260246000fd5b500490565b6000602080838503121561449f57600080fd5b825167ffffffffffffffff8111156144b657600080fd5b8301601f810185136144c757600080fd5b80516144d5614240826141d3565b81815260059190911b820183019083810190878311156144f457600080fd5b928401925b82841015613f7b578351825292840192908401906144f9565b6000828210156145245761452461441f565b500390565b6000821982111561453c5761453c61441f565b500190565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60006000198214156145815761458161441f565b5060010190565b60006020828403121561459a57600080fd5b815161ffff8116811461373957600080fd5b600081518084526020808501945080840160005b838110156145dc578151875295820195908201906001016145c0565b509495945050505050565b600061012060018060a01b03808d168452808c16602085015261ffff8b1660408501528960608501528860808501528160a0850152614628828501896145ac565b915083820360c085015261463c82886145ac565b951660e084015250506101000152979650505050505050565b81835260006001600160fb1b0383111561466e57600080fd5b8260051b8083602087013760009401602001938452509192915050565b6001600160a01b038781168252861660208201526080604082018190526000906146b89083018688614655565b82810360608401526146cb818587614655565b9998505050505050505050565b80516001600160801b0381168114613d9957600080fd5b6000806040838503121561470257600080fd5b61470b836146d8565b9150614719602084016146d8565b90509250929050565b60006020828403121561473457600080fd5b8151801515811461373957600080fd5b60008251614756818460208701614021565b919091019291505056fea2646970667358221220e7bb08274adefcb8f471c47d2de5405be062ae8d8812d9585a8f054759c1810c64736f6c634300080a0033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000e10000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7000000000000000000000000000000000000000000000000000000000000000f53484c425f544f4b454e5f56325f310000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f53484c425f544f4b454e5f56325f310000000000000000000000000000000000