[ { "inputs": [ { "internalType": "address", "name": "_stakingContract", "type": "address" }, { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "address", "name": "_swapPairWavaxUnderlying", "type": "address" }, { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "address", "name": "platformToken", "type": "address" }, { "components": [ { "internalType": "address", "name": "reward", "type": "address" }, { "internalType": "address", "name": "swapPair", "type": "address" }, { "internalType": "uint256", "name": "swapFee", "type": "uint256" } ], "internalType": "struct VariableRewardsStrategy.RewardSwapPair[]", "name": "rewardSwapPairs", "type": "tuple[]" }, { "internalType": "address", "name": "timelock", "type": "address" } ], "internalType": "struct VariableRewardsStrategy.VariableRewardsStrategySettings", "name": "_settings", "type": "tuple" }, { "components": [ { "internalType": "address", "name": "depositToken", "type": "address" }, { "internalType": "address", "name": "rewardToken", "type": "address" }, { "internalType": "uint256", "name": "minTokensToReinvest", "type": "uint256" }, { "internalType": "uint256", "name": "devFeeBips", "type": "uint256" }, { "internalType": "uint256", "name": "reinvestRewardBips", "type": "uint256" } ], "internalType": "struct YakStrategyV2.StrategySettings", "name": "_strategySettings", "type": "tuple" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "rewardToken", "type": "address" }, { "indexed": false, "internalType": "address", "name": "swapPair", "type": "address" } ], "name": "AddReward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "AllowDepositor", "type": "event" }, { "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": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "DepositsEnabled", "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": false, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Recovered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newTotalDeposits", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newTotalSupply", "type": "uint256" } ], "name": "Reinvest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "RemoveDepositor", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "rewardToken", "type": "address" } ], "name": "RemoveReward", "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": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateAdminFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldValue", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newValue", "type": "address" } ], "name": "UpdateDevAddr", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateDevFee", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateMaxTokensToDepositWithoutReinvest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateMinTokensToReinvest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldValue", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "UpdateReinvestReward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "inputs": [], "name": "ADMIN_FEE_BIPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEPOSITS_ENABLED", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEV_FEE_BIPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_TOKENS_TO_DEPOSIT_WITHOUT_REINVEST", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MIN_TOKENS_TO_REINVEST", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "REINVEST_REWARD_BIPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "VERSION_HASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "WOOe", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_rewardToken", "type": "address" }, { "internalType": "address", "name": "_swapPair", "type": "address" } ], "name": "addReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_rewardToken", "type": "address" }, { "internalType": "address", "name": "_swapPair", "type": "address" }, { "internalType": "uint256", "name": "_swapFee", "type": "uint256" } ], "name": "addReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "depositor", "type": "address" } ], "name": "allowDepositor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "allowedDepositors", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "_amount", "type": "uint256" } ], "name": "calculateDepositFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "calculateWithdrawFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "checkReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "deposit", "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": "depositToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_deadline", "type": "uint256" }, { "internalType": "uint8", "name": "_v", "type": "uint8" }, { "internalType": "bytes32", "name": "_r", "type": "bytes32" }, { "internalType": "bytes32", "name": "_s", "type": "bytes32" } ], "name": "depositWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "devAddr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "estimateDeployedBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "estimateReinvestReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "getDepositTokensForShares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDomainSeparator", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "getSharesForDepositTokens", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numberOfAllowedDepositors", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "recoverAVAX", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "recoverERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "reinvest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "depositor", "type": "address" } ], "name": "removeDepositor", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "name": "removeReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_minReturnAmountAccepted", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" } ], "name": "rescueDeployedFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "revokeAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "rewardSwapPairs", "outputs": [ { "internalType": "address", "name": "reward", "type": "address" }, { "internalType": "address", "name": "swapPair", "type": "address" }, { "internalType": "uint256", "name": "swapFee", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "rewardToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "supportedRewards", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapPairWavaxUnderlying", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDeposits", "outputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "src", "type": "address" }, { "internalType": "address", "name": "dst", "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": "underlyingAsset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateAdminFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "newValue", "type": "bool" } ], "name": "updateDepositsEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newValue", "type": "address" } ], "name": "updateDevAddr", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateDevFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateMaxTokensToDepositWithoutReinvest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateMinTokensToReinvest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newValue", "type": "uint256" } ], "name": "updateReinvestReward", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "wooChef", "outputs": [ { "internalType": "contract IMasterChefWoo", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "xWoo", "outputs": [ { "internalType": "contract IWooStakingVault", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6101c06040526009610180819052685969656c642059616b60b81b6101a09081526200002f916000919062000ad3565b506040805180820190915260038082526216549560ea1b60209092019182526200005c9160019162000ad3565b503480156200006a57600080fd5b5060405162006299380380620062998339810160408190526200008d9162000d7d565b600680546001600160a01b0319163390811790915560405183918391829190819060009060008051602062006279833981519152908290a35080516001600160a01b0390811660805260208201511660a0526040810151620000ef9062000375565b6060810151620000ff9062000405565b60808101516200010f90620004b0565b5081518051620001289160009160209091019062000ad3565b5060208201516001600160a01b031660c052600980546001600160a01b031916732d580f9cf2fb2d09bc411532988f2afda4e7beff17905560005b8260400151518110156200020557620001f0836040015182815181106200018e576200018e62000efd565b60200260200101516000015184604001518381518110620001b357620001b362000efd565b60200260200101516020015185604001518481518110620001d857620001d862000efd565b6020026020010151604001516200055b60201b60201c565b80620001fc8162000f29565b91505062000163565b5062000212600162000707565b60608201516200022290620007b1565b60408051600080825260208201527fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef234910160405180910390a150506001600160a01b038516610100819052604080516308a0d5bb60e31b81529051634506add8916004808201926020929091908290030181865afa158015620002a9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cf919062000f45565b6001600160a01b0316610120816001600160a01b03168152505080600001516001600160a01b0316631f1fcd516040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200032c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000352919062000f45565b6001600160a01b039081166101605260e094909452505016610140525062000fc1565b6006546001600160a01b03163314620003c45760405162461bcd60e51b815260206004820181905260248201526000805160206200625983398151915260448201526064015b60405180910390fd5b600a5460408051918252602082018390527f481f79ac3a523b6d6db3c5a720e190e986d1cc1b41adcdf50f9caef849901100910160405180910390a1600a55565b6006546001600160a01b03163314620004505760405162461bcd60e51b81526020600482018190526024820152600080516020620062598339815191526044820152606401620003bb565b612710600e548262000463919062000f6a565b11156200046f57600080fd5b600f5460408051918252602082018390527f2a42303d002f0ba6cfe8259c91d4684443fb0b3de286ba74991175d651726131910160405180910390a1600f55565b6006546001600160a01b03163314620004fb5760405162461bcd60e51b81526020600482018190526024820152600080516020620062598339815191526044820152606401620003bb565b612710600f54826200050e919062000f6a565b11156200051a57600080fd5b600e5460408051918252602082018390527fe7f97d51d307dc44045597c9978bec0f842e6bb40d19b9444084cfa30d9ed4f2910160405180910390a1600e55565b60a0516001600160a01b0316836001600160a01b031614620006075762000591828460a051620008ae60201b62002a071760201c565b62000607576040805162461bcd60e51b81526020600482015260248101919091527f5661726961626c655265776172647353747261746567793a3a5377617020706160448201527f697220646f6573206e6f7420636f6e7461696e2072657761726420746f6b656e6064820152608401620003bb565b604080516060810182526001600160a01b03808616808352858216602080850191825284860187815260008481526010909252958120945185549085166001600160a01b03199182161786559151600180870180549290961691841691909117909455945160029094019390935560118054808401825594527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c6890930180549092169092179055601254620006bc9162000f6a565b601255604080516001600160a01b038086168252841660208201527f916e172c080569186aa7ea048268267257cf7cc49505908863f747bca8620f80910160405180910390a1505050565b6006546001600160a01b03163314620007525760405162461bcd60e51b81526020600482018190526024820152600080516020620062598339815191526044820152606401620003bb565b600c5481151560ff9091161515036200076a57600080fd5b600c805460ff19168215159081179091556040519081527f7b014ed3854e7f5cb0218d58b3c6ae7d53a68bb0af2f67bfb029ea42c38a7e859060200160405180910390a150565b6006546001600160a01b03163314620007fc5760405162461bcd60e51b81526020600482018190526024820152600080516020620062598339815191526044820152606401620003bb565b6001600160a01b038116620008635760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401620003bb565b6006546040516001600160a01b038084169216906000805160206200627983398151915290600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015620008ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000915919062000f45565b6001600160a01b0316836001600160a01b03161480620009aa5750836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200096f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000995919062000f45565b6001600160a01b0316836001600160a01b0316145b801562000aac5750836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015620009f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a17919062000f45565b6001600160a01b0316826001600160a01b0316148062000aac5750836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000a71573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a97919062000f45565b6001600160a01b0316826001600160a01b0316145b801562000acb5750816001600160a01b0316836001600160a01b031614155b949350505050565b82805462000ae19062000f85565b90600052602060002090601f01602090048101928262000b05576000855562000b50565b82601f1062000b2057805160ff191683800117855562000b50565b8280016001018555821562000b50579182015b8281111562000b5057825182559160200191906001019062000b33565b5062000b5e92915062000b62565b5090565b5b8082111562000b5e576000815560010162000b63565b80516001600160a01b038116811462000b9157600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171562000bd15762000bd162000b96565b60405290565b604051608081016001600160401b038111828210171562000bd15762000bd162000b96565b604051601f8201601f191681016001600160401b038111828210171562000c275762000c2762000b96565b604052919050565b600082601f83011262000c4157600080fd5b815160206001600160401b0382111562000c5f5762000c5f62000b96565b62000c6f818360051b0162000bfc565b8281526060928302850182019282820191908785111562000c8f57600080fd5b8387015b8581101562000ced5781818a03121562000cad5760008081fd5b62000cb762000bac565b62000cc28262000b79565b815262000cd186830162000b79565b8187015260408281015190820152845292840192810162000c93565b5090979650505050505050565b600060a0828403121562000d0d57600080fd5b60405160a081016001600160401b038111828210171562000d325762000d3262000b96565b60405290508062000d438362000b79565b815262000d536020840162000b79565b60208201526040830151604082015260608301516060820152608083015160808201525092915050565b6000806000806000610120868803121562000d9757600080fd5b62000da28662000b79565b9450602080870151945062000dba6040880162000b79565b60608801519094506001600160401b038082111562000dd857600080fd5b908801906080828b03121562000ded57600080fd5b62000df762000bd7565b82518281111562000e0757600080fd5b8301601f81018c1362000e1957600080fd5b80518381111562000e2e5762000e2e62000b96565b62000e42601f8201601f1916870162000bfc565b8181528d8783850101111562000e5757600080fd5b60005b8281101562000e7757838101880151828201890152870162000e5a565b8281111562000e895760008884840101525b5083525062000e9c905083850162000b79565b84820152604083015193508184111562000eb557600080fd5b62000ec38b85850162000c2f565b604082015262000ed66060840162000b79565b60608201528095505050505062000ef1876080880162000cfa565b90509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820162000f3e5762000f3e62000f13565b5060010190565b60006020828403121562000f5857600080fd5b62000f638262000b79565b9392505050565b6000821982111562000f805762000f8062000f13565b500190565b600181811c9082168062000f9a57607f821691505b60208210810362000fbb57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05160e051610100516101205161014051610160516150bf6200119a60003960008181610449015281816108ec0152818161429c015281816142f00152818161436401526144eb0152600081816107090152614311015260008181610773015281816136780152613edd015260008181610e170152818161167c01528181612ec0015281816134500152818161353b015281816135fe01528181613e660152818161468e015261478001526000818161086d0152818161164d01528181612e9001528181613515015281816135c401528181613e40015261475301526000818161041f01528181610484015281816122120152818161404601528181614075015281816140ea0152818161433a01526143c0015260008181610de3015281816121a30152818161223c015281816122a60152818161241f01528181613265015281816132a301528181613a9c01528181613af701528181613f9a01528181614114015281816141f40152818161427201526142cf015260008181610c34015281816110ac015281816111dc01528181611f1701528181611fac015281816131070152818161347f01528181614438015281816144bc0152818161456f015281816145d601526146bd01526150bf6000f3fe6080604052600436106104185760003560e01c80638183723011610228578063bd079f5511610128578063dd8ce4d6116100bb578063ed24911d1161008a578063f7c618c11161006f578063f7c618c114610dd1578063f8092ad314610e05578063fdb5a03e14610e3957600080fd5b8063ed24911d14610d9c578063f2fde38b14610db157600080fd5b8063dd8ce4d614610d1c578063e21ac82514610d3c578063e75ab04514610d5c578063eab89a5a14610d7c57600080fd5b8063d0ed26ae116100f7578063d0ed26ae14610c76578063d505accf14610c96578063da09c72c14610cb6578063dd62ed3e14610cd657600080fd5b8063bd079f5514610bf7578063c4b24a4614610c0d578063c89039c514610c22578063cff1b6ef14610c5657600080fd5b80639e4e7318116101bb578063a9059cbb1161018a578063b52a321f1161016f578063b52a321f14610ba8578063b6b55f2514610bc2578063b9e57b8014610be257600080fd5b8063a9059cbb14610b68578063ac0d31ff14610b8857600080fd5b80639e4e731814610a85578063a4d5e67c14610ab9578063a5534e7114610ad9578063a8ae2b7c14610b4857600080fd5b80638da5cb5b116101f75780638da5cb5b14610a125780639291d56314610a3057806395d89b4114610a5057806399729ec114610a6557600080fd5b8063818372301461099c5780638980f11f146109bc5780638aff733d146109dc5780638b73e606146109f257600080fd5b806340b47e1a116103335780635eaec0e4116102c6578063789139bc116102955780637ae267731161027a5780637ae267731461093a5780637d8820971461095a5780637ecebe001461096f57600080fd5b8063789139bc1461090e578063790854251461092457600080fd5b80635eaec0e41461085b57806370a082311461088f578063715018a6146108c55780637158da7c146108da57600080fd5b80634bebd1e7116103025780634bebd1e7146107e55780634e77ace5146108055780634ebb7916146108255780635ea682ea1461084557600080fd5b806340b47e1a146107415780634506add814610761578063483c2ef0146107955780634a970be7146107c557600080fd5b806323b872dd116103ab57806330adf81f1161037a57806330adf81f1461069c578063313ce567146106d057806337e4b3ce146106f75780633bdc6e721461072b57600080fd5b806323b872dd1461063c578063247d284b146105925780632e1a7d4d1461065c5780632f4f21e21461067c57600080fd5b806311056035116103e75780631105603514610592578063173aeca4146105b257806318160ddd146105f257806320606b701461060857600080fd5b806306fdde03146104fe5780630767711114610529578063095ea7b31461054d5780630f23475d1461057d57600080fd5b366104f9577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480156104a65750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6104f75760405162461bcd60e51b815260206004820152600b60248201527f6e6f7420616c6c6f77656400000000000000000000000000000000000000000060448201526064015b60405180910390fd5b005b600080fd5b34801561050a57600080fd5b50610513610e4e565b6040516105209190614b77565b60405180910390f35b34801561053557600080fd5b5061053f600d5481565b604051908152602001610520565b34801561055957600080fd5b5061056d610568366004614b9f565b610edc565b6040519015158152602001610520565b34801561058957600080fd5b5061053f610ef2565b34801561059e57600080fd5b5061053f6105ad366004614bcb565b610f1d565b3480156105be57600080fd5b506105da73abc9547b534519ff73921b1fba6e672b5f58d08381565b6040516001600160a01b039091168152602001610520565b3480156105fe57600080fd5b5061053f60025481565b34801561061457600080fd5b5061053f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81565b34801561064857600080fd5b5061056d610657366004614be4565b610f2e565b34801561066857600080fd5b506104f7610677366004614bcb565b610ff7565b34801561068857600080fd5b506104f7610697366004614b9f565b611118565b3480156106a857600080fd5b5061053f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b3480156106dc57600080fd5b506106e5601281565b60405160ff9091168152602001610520565b34801561070357600080fd5b506105da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561073757600080fd5b5061053f60075481565b34801561074d57600080fd5b506104f761075c366004614c25565b611126565b34801561076d57600080fd5b506105da7f000000000000000000000000000000000000000000000000000000000000000081565b3480156107a157600080fd5b5061056d6107b0366004614c5e565b60086020526000908152604090205460ff1681565b3480156107d157600080fd5b506104f76107e0366004614c91565b611183565b3480156107f157600080fd5b506104f7610800366004614c5e565b611251565b34801561081157600080fd5b506104f7610820366004614ce6565b61136e565b34801561083157600080fd5b506104f7610840366004614bcb565b611415565b34801561085157600080fd5b5061053f600f5481565b34801561086757600080fd5b5061053f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561089b57600080fd5b5061053f6108aa366004614c5e565b6001600160a01b031660009081526004602052604090205490565b3480156108d157600080fd5b506104f76114cf565b3480156108e657600080fd5b506105da7f000000000000000000000000000000000000000000000000000000000000000081565b34801561091a57600080fd5b5061053f600b5481565b34801561093057600080fd5b5061053f60125481565b34801561094657600080fd5b506104f7610955366004614c25565b611561565b34801561096657600080fd5b5061053f611625565b34801561097b57600080fd5b5061053f61098a366004614c5e565b60056020526000908152604090205481565b3480156109a857600080fd5b506104f76109b7366004614bcb565b6116f4565b3480156109c857600080fd5b506104f76109d7366004614b9f565b61177d565b3480156109e857600080fd5b5061053f600e5481565b3480156109fe57600080fd5b506104f7610a0d366004614c5e565b611893565b348015610a1e57600080fd5b506006546001600160a01b03166105da565b348015610a3c57600080fd5b506104f7610a4b366004614c5e565b611a4f565b348015610a5c57600080fd5b50610513611b09565b348015610a7157600080fd5b506104f7610a80366004614bcb565b611b16565b348015610a9157600080fd5b5061053f7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc681565b348015610ac557600080fd5b506104f7610ad4366004614c5e565b611bbb565b348015610ae557600080fd5b50610b22610af4366004614c5e565b6010602052600090815260409020805460018201546002909201546001600160a01b03918216929091169083565b604080516001600160a01b03948516815293909216602084015290820152606001610520565b348015610b5457600080fd5b506104f7610b63366004614bcb565b611e05565b348015610b7457600080fd5b5061056d610b83366004614b9f565b611eaa565b348015610b9457600080fd5b506104f7610ba3366004614d03565b611eb7565b348015610bb457600080fd5b50600c5461056d9060ff1681565b348015610bce57600080fd5b506104f7610bdd366004614bcb565b612129565b348015610bee57600080fd5b5061053f612136565b348015610c0357600080fd5b5061053f600a5481565b348015610c1957600080fd5b5061053f612175565b348015610c2e57600080fd5b506105da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610c6257600080fd5b506104f7610c71366004614bcb565b6124b5565b348015610c8257600080fd5b506104f7610c91366004614be4565b612549565b348015610ca257600080fd5b506104f7610cb1366004614d28565b6125aa565b348015610cc257600080fd5b506009546105da906001600160a01b031681565b348015610ce257600080fd5b5061053f610cf1366004614c25565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b348015610d2857600080fd5b5061053f610d37366004614bcb565b6126bd565b348015610d4857600080fd5b506104f7610d57366004614bcb565b6126fe565b348015610d6857600080fd5b506105da610d77366004614bcb565b612787565b348015610d8857600080fd5b5061053f610d97366004614bcb565b6127b1565b348015610da857600080fd5b5061053f6127ec565b348015610dbd57600080fd5b506104f7610dcc366004614c5e565b61288c565b348015610ddd57600080fd5b506105da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610e1157600080fd5b506105da7f000000000000000000000000000000000000000000000000000000000000000081565b348015610e4557600080fd5b506104f76129ac565b60008054610e5b90614d96565b80601f0160208091040260200160405190810160405280929190818152602001828054610e8790614d96565b8015610ed45780601f10610ea957610100808354040283529160200191610ed4565b820191906000526020600020905b815481529060010190602001808311610eb757829003601f168201915b505050505081565b6000610ee9338484612c1c565b50600192915050565b600080610efd611625565b90506000610f0a82612d2a565b9050610f168183614de0565b9250505090565b6000610f2882612d2a565b92915050565b6001600160a01b038316600081815260036020908152604080832033808552925282205491929091908214801590610f6857506000198114155b15610fde576000610f798583614de0565b6001600160a01b038881166000818152600360209081526040808320948916808452948252918290208590559051848152939450919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505b610fe9868686612d44565b6001925050505b9392505050565b6000611002826127b1565b90506000811161107a5760405162461bcd60e51b815260206004820152603060248201527f5661726961626c655265776172647353747261746567793a3a5769746864726160448201527f7720616d6f756e7420746f6f206c6f770000000000000000000000000000000060648201526084016104ee565b600061108582612e68565b9050600061109283612d2a565b90506110d3336110a28385614de0565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190612f2a565b6110dd3385612f91565b60405183815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a250505050565b6111228282613025565b5050565b6009546001600160a01b031633146111775760405162461bcd60e51b81526020600482015260146024820152732cb0b5a9ba3930ba32b3bc9d1d37b7363ca232bb60611b60448201526064016104ee565b61112282826003613263565b6040517fd505accf000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018690526064810185905260ff8416608482015260a4810183905260c481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063d505accf9060e401600060405180830381600087803b15801561122857600080fd5b505af115801561123c573d6000803e3d6000fd5b5050505061124a3386613025565b5050505050565b6006546001600160a01b031633146112995760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b6001600160a01b03811660009081526008602052604090205460ff16156113025760405162461bcd60e51b815260206004820152601c60248201527f5065726d697373696f6e65643a3a616c6c6f774465706f7369746f720000000060448201526064016104ee565b6001600160a01b0381166000908152600860205260409020805460ff1916600190811790915560075461133491614df7565b6007556040516001600160a01b038216907fc0a1035c16faf8d1304056d92c00edf028f87e62b8235a938f00af9e3c0312c590600090a250565b6006546001600160a01b031633146113b65760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b600c5481151560ff9091161515036113cd57600080fd5b600c805460ff19168215159081179091556040519081527f7b014ed3854e7f5cb0218d58b3c6ae7d53a68bb0af2f67bfb029ea42c38a7e85906020015b60405180910390a150565b6006546001600160a01b0316331461145d5760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b6000811161146a57600080fd5b604051339082156108fc029083906000818181858888f19350505050158015611497573d6000803e3d6000fd5b506040805160008152602081018390527f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28910161140a565b6006546001600160a01b031633146115175760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b6006546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600680546001600160a01b0319169055565b6006546001600160a01b031633146115a95760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b60405163095ea7b360e01b81526001600160a01b0382811660048301526000602483015283169063095ea7b3906044016020604051808303816000875af11580156115f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061161c9190614e0f565b61112257600080fd5b6040517f93f1a40b0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523060248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906393f1a40b906044016040805180830381865afa1580156116ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ee9190614e2c565b50919050565b6006546001600160a01b0316331461173c5760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b600a5460408051918252602082018390527f481f79ac3a523b6d6db3c5a720e190e986d1cc1b41adcdf50f9caef849901100910160405180910390a1600a55565b6006546001600160a01b031633146117c55760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b600081116117d257600080fd5b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118439190614e0f565b61184c57600080fd5b604080516001600160a01b0384168152602081018390527f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2891015b60405180910390a15050565b6006546001600160a01b031633146118db5760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b6000600754116119535760405162461bcd60e51b815260206004820152603460248201527f5065726d697373696f6e65643a3a72656d6f76654465706f7369746f722c206e60448201527f6f20616c6c6f776564206465706f7369746f727300000000000000000000000060648201526084016104ee565b6001600160a01b03811660009081526008602052604090205460ff1615156001146119e65760405162461bcd60e51b815260206004820152602a60248201527f5065726d697373696f6e65643a3a72656d6f76654465706f7369746f722c206e60448201527f6f7420616c6c6f7765640000000000000000000000000000000000000000000060648201526084016104ee565b6001600160a01b0381166000908152600860205260409020805460ff19169055600754611a1590600190614de0565b6007556040516001600160a01b038216907f0e86f6608b536e5339a25b65ff531f5ea91e1313d056ecd4752b35cbd16137d490600090a250565b6009546001600160a01b03163314611aa05760405162461bcd60e51b81526020600482015260146024820152732cb0b5a9ba3930ba32b3bc9d1d37b7363ca232bb60611b60448201526064016104ee565b600954604080516001600160a01b03928316815291831660208301527fa8e91499ed37682f43cffb045fcc7d379a91e8c9a14e6321877ee34dee564c00910160405180910390a1600980546001600160a01b0319166001600160a01b0392909216919091179055565b60018054610e5b90614d96565b6006546001600160a01b03163314611b5e5760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b612710600e5482611b6f9190614df7565b1115611b7a57600080fd5b600f5460408051918252602082018390527f2a42303d002f0ba6cfe8259c91d4684443fb0b3de286ba74991175d651726131910160405180910390a1600f55565b6009546001600160a01b03163314611c0c5760405162461bcd60e51b81526020600482015260146024820152732cb0b5a9ba3930ba32b3bc9d1d37b7363ca232bb60611b60448201526064016104ee565b6001600160a01b038116600090815260106020526040812080546001600160a01b031990811682556001820180549091169055600201819055805b601154811015611d135760118181548110611c6457611c64614e50565b6000918252602090912001546001600160a01b0390811690841603611d01576011805460019350611c96908490614de0565b81548110611ca657611ca6614e50565b600091825260209091200154601180546001600160a01b039092169183908110611cd257611cd2614e50565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b80611d0b81614e66565b915050611c47565b5080611d875760405162461bcd60e51b815260206004820152603460248201527f5661726961626c655265776172647353747261746567793a3a5265776172642060448201527f746f2064656c657465206e6f7420666f756e642100000000000000000000000060648201526084016104ee565b6011805480611d9857611d98614e7f565b600082815260209020810160001990810180546001600160a01b0319169055019055601254611dc990600190614de0565b6012556040516001600160a01b03831681527f963b7c735475147a62c589c2d7cb8ec4b0a6b7af4f97373d79ebfa42ab8aa7dc90602001611887565b6006546001600160a01b03163314611e4d5760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b612710600f5482611e5e9190614df7565b1115611e6957600080fd5b600e5460408051918252602082018390527fe7f97d51d307dc44045597c9978bec0f842e6bb40d19b9444084cfa30d9ed4f2910160405180910390a1600e55565b6000610ee9338484612d44565b6006546001600160a01b03163314611eff5760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8a9190614e95565b9050611f94613439565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611ffb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061201f9190614e95565b90508361202c8383614de0565b10156120c65760405162461bcd60e51b815260206004820152604d60248201527f5661726961626c655265776172647353747261746567793a3a456d657267656e60448201527f6379207769746864726177206d696e696d756d2072657475726e20616d6f756e60648201527f74206e6f74207265616368656400000000000000000000000000000000000000608482015260a4016104ee565b7fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef2346120ef611625565b6002546040805192835260208301919091520160405180910390a1600c5460ff16151560010361212357612123600061136e565b50505050565b6121333382613025565b50565b600080612141612175565b9050600a54811061216d57612710600e548261215d9190614eae565b6121679190614ecd565b91505090565b600091505090565b60008061218061359c565b6040516370a0823160e01b81523060048201529091506000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156121ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061220e9190614e95565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031603612276576122734782614df7565b90505b60005b82518110156124ae57600083828151811061229657612296614e50565b60200260200101516000015190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03160361230d578382815181106122ef576122ef614e50565b602002602001015160200151836123069190614df7565b925061249b565b6001600160a01b0381161561249b576040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015612363573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123879190614e95565b9050600085848151811061239d5761239d614e50565b602002602001015160200151826123b49190614df7565b90506000601060008887815181106123ce576123ce614e50565b602090810291909101810151516001600160a01b0390811683529082019290925260400160002060010154169050811580159061241357506001600160a01b03811615155b156124975761248a82857f000000000000000000000000000000000000000000000000000000000000000084601060008d8c8151811061245557612455614e50565b6020026020010151600001516001600160a01b03166001600160a01b03168152602001908152602001600020600201546137a7565b6124949087614df7565b95505b5050505b50806124a681614e66565b915050612279565b5092915050565b6006546001600160a01b031633146124fd5760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b801561250857600080fd5b600d5460408051918252602082018390527f3cc372f330f95ac9540626dc8a25f5bf21ba607215a5d58304cb804d446f104a910160405180910390a1600d55565b6009546001600160a01b0316331461259a5760405162461bcd60e51b81526020600482015260146024820152732cb0b5a9ba3930ba32b3bc9d1d37b7363ca232bb60611b60448201526064016104ee565b6125a5838383613263565b505050565b428410156125fa5760405162461bcd60e51b815260206004820152600f60248201527f7065726d69743a3a65787069726564000000000000000000000000000000000060448201526064016104ee565b6001600160a01b038716600090815260056020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918a918a918a91908661264783614e66565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506126a88882868686613875565b6126b3888888612c1c565b5050505050505050565b60006126c7611625565b6002546126d49190614eae565b6000036126df575090565b6126e7611625565b6002546126f49084614eae565b610f289190614ecd565b6006546001600160a01b031633146127465760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b600b5460408051918252602082018390527fa5dae50539d56dfe1fb5273d883b0c39bc76750a25d036fc5fbd09ad8fd5f57f910160405180910390a1600b55565b6011818154811061279757600080fd5b6000918252602090912001546001600160a01b0316905081565b60006127bb611625565b6002546127c89190614eae565b6000036127d757506000919050565b6002546127e2611625565b6126f49084614eae565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60001b60006040516128219190614eef565b6040519081900390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc646604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6006546001600160a01b031633146128d45760405162461bcd60e51b8152602060048201819052602482015260008051602061506a83398151915260448201526064016104ee565b6001600160a01b0381166129505760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104ee565b6006546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600680546001600160a01b0319166001600160a01b0392909216919091179055565b3233146129fb5760405162461bcd60e51b815260206004820152601460248201527f59616b53747261746567793a3a6f6e6c79454f4100000000000000000000000060448201526064016104ee565b612a0560006139d5565b565b6000836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a6b9190614f8a565b6001600160a01b0316836001600160a01b03161480612afc5750836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae79190614f8a565b6001600160a01b0316836001600160a01b0316145b8015612bf65750836001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b659190614f8a565b6001600160a01b0316826001600160a01b03161480612bf65750836001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015612bbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612be19190614f8a565b6001600160a01b0316826001600160a01b0316145b8015612c145750816001600160a01b0316836001600160a01b031614155b949350505050565b6001600160a01b038316612c725760405162461bcd60e51b815260206004820152601c60248201527f5f617070726f76653a3a6f776e6572207a65726f20616464726573730000000060448201526064016104ee565b6001600160a01b038216612cc85760405162461bcd60e51b815260206004820152601e60248201527f5f617070726f76653a3a7370656e646572207a65726f2061646472657373000060448201526064016104ee565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600080612710612d3a8285614eae565b610ff09190614ecd565b6001600160a01b038216612dc05760405162461bcd60e51b815260206004820152603460248201527f5f7472616e73666572546f6b656e733a2063616e6e6f74207472616e7366657260448201527f20746f20746865207a65726f206164647265737300000000000000000000000060648201526084016104ee565b6001600160a01b038316600090815260046020526040902054612de4908290614de0565b6001600160a01b038085166000908152600460205260408082209390935590841681522054612e14908290614df7565b6001600160a01b0380841660008181526004602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612d1d9085815260200190565b6040517f441a3e700000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006004820152602481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063441a3e7090604401600060405180830381600087803b158015612f0c57600080fd5b505af1158015612f20573d6000803e3d6000fd5b5093949350505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b1790526125a5908490613ba2565b6001600160a01b038216600090815260046020526040902054612fb5908290614de0565b6001600160a01b038316600090815260046020526040902055600254612fdc908290614de0565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600c5460ff1615156001146130a25760405162461bcd60e51b815260206004820152602a60248201527f5661726961626c655265776172647353747261746567793a3a4465706f73697460448201527f732064697361626c65640000000000000000000000000000000000000000000060648201526084016104ee565b600b54156130cc5760006130b4612175565b9050600b548111156130ca576130ca60016139d5565b505b6040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af1158015613158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061317c9190614e0f565b6131ee5760405162461bcd60e51b815260206004820152603660248201527f5661726961626c655265776172647353747261746567793a3a4465706f73697460448201527f20746f6b656e207472616e73666572206661696c65640000000000000000000060648201526084016104ee565b60006131f982612d2a565b90506132118361320c610d378486614de0565b613c87565b61321b8282613d0d565b826001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c8360405161325691815260200190565b60405180910390a2505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161461333b576132c782847f0000000000000000000000000000000000000000000000000000000000000000612a07565b61333b576040805162461bcd60e51b81526020600482015260248101919091527f5661726961626c655265776172647353747261746567793a3a5377617020706160448201527f697220646f6573206e6f7420636f6e7461696e2072657761726420746f6b656e60648201526084016104ee565b604080516060810182526001600160a01b03808616808352858216602080850191825284860187815260008481526010909252958120945185549085166001600160a01b03199182161786559151600180870180549290961691841691909117909455945160029094019390935560118054808401825594527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68909301805490921690921790556012546133ee91614df7565b601255604080516001600160a01b038086168252841660208201527f916e172c080569186aa7ea048268267257cf7cc49505908863f747bca8620f80910160405180910390a1505050565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152600060248301527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af11580156134c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134ec9190614e0f565b506040517f5312ea8e0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690635312ea8e906024015b600060405180830381600087803b15801561358857600080fd5b505af1158015612123573d6000803e3d6000fd5b6040517fa36f3c8d0000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201523060248201526060906000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a36f3c8d906044016040805180830381865afa158015613644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136689190614e2c565b915050600061367661271090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e941fa786040518163ffffffff1660e01b8152600401602060405180830381865afa1580156136d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136f89190614e95565b6137029084614eae565b61370c9190614ecd565b60408051600180825281830190925291925060009190816020015b60408051808201909152600080825260208201528152602001906001900390816137275750506040805180820190915273abc9547b534519ff73921b1fba6e672b5f58d08381529091506020810161377f8486614de0565b8152508160008151811061379557613795614e50565b60209081029190910101529392505050565b6000806137b48686613d8d565b509050600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156137f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061381c9190614fc5565b5091509150876001600160a01b0316836001600160a01b03161461383c57905b61386889836dffffffffffffffffffffffffffff16836dffffffffffffffffffffffffffff1688613dbe565b9998505050505050505050565b600061387f6127ec565b6040517f1901000000000000000000000000000000000000000000000000000000000000602082015260228101919091526042810186905260620160408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015613925573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381161580159061395b5750866001600160a01b0316816001600160a01b0316145b6139cc5760405162461bcd60e51b8152602060048201526024808201527f417263683a3a76616c69646174655369673a20696e76616c6964207369676e6160448201527f747572650000000000000000000000000000000000000000000000000000000060648201526084016104ee565b50505050505050565b6139dd613e18565b60006139e7613f78565b905081613a6657600a54811015613a665760405162461bcd60e51b815260206004820152603060248201527f5661726961626c655265776172647353747261746567793a3a5265696e76657360448201527f7420616d6f756e7420746f6f206c6f770000000000000000000000000000000060648201526084016104ee565b6000612710600f5483613a799190614eae565b613a839190614ecd565b90508015613ac557600954613ac5906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116911683612f2a565b6000612710600e5484613ad89190614eae565b613ae29190614ecd565b90508015613b1e57613b1e6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383612f2a565b6000613b3d82613b2e8587614de0565b613b389190614de0565b61426e565b90506000613b4a82612d2a565b9050613b568282613d0d565b7fc7606d21ac05cd309191543e409f0845c016120563783d70e4f41419dc0ef234613b7f611625565b6002546040805192835260208301919091520160405180910390a1505050505050565b6000613bf7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166146689092919063ffffffff16565b8051909150156125a55780806020019051810190613c159190614e0f565b6125a55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104ee565b80600254613c959190614df7565b6002556001600160a01b038216600090815260046020526040902054613cbc908290614df7565b6001600160a01b0383166000818152600460205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906130199085815260200190565b60008211613d835760405162461bcd60e51b815260206004820152602d60248201527f5661726961626c655265776172647353747261746567793a3a5374616b65206160448201527f6d6f756e7420746f6f206c6f770000000000000000000000000000000000000060648201526084016104ee565b6111228282614677565b600080826001600160a01b0316846001600160a01b031610613db0578284613db3565b83835b915091509250929050565b600080613dcd836103e8614de0565b613dd79087614eae565b90506000613de58583614eae565b9050600082613df6886103e8614eae565b613e009190614df7565b9050613e0c8183614ecd565b98975050505050505050565b6040517fddc632620000000000000000000000000000000000000000000000000000000081527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ddc6326290602401600060405180830381600087803b158015613eb257600080fd5b505af1158015613ec6573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316925063fd92bff2915082906370a0823190602401602060405180830381865afa158015613f36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f5a9190614e95565b6040518263ffffffff1660e01b815260040161356e91815260200190565b6040516370a0823160e01b815230600482015260009081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa158015613fe1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140059190614e95565b60115490915060005b818110156142665760006011828154811061402b5761402b614e50565b6000918252602090912001546001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000168103614156574780156140e8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156140ce57600080fd5b505af11580156140e2573d6000803e3d6000fd5b50505050505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316036141545761414b8186614df7565b94505050614254565b505b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa15801561419d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c19190614e95565b90508015614251576001600160a01b0380831660009081526010602052604090206001015416801561424f5761424282847f00000000000000000000000000000000000000000000000000000000000000008460106000896001600160a01b03166001600160a01b03168152602001908152602001600020600201546147e8565b61424c9087614df7565b95505b505b50505b8061425e81614e66565b91505061400e565b509092915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161461433857614335827f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000614985565b91505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316036144a5576040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690632e1a7d4d90602401600060405180830381600087803b15801561440c57600080fd5b505af1158015614420573d6000803e3d6000fd5b505060405163b6b55f2560e01b8152600481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316925063b6b55f25915084906024016000604051808303818588803b15801561448757600080fd5b505af115801561449b573d6000803e3d6000fd5b50505050506145d4565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af1158015614534573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145589190614e0f565b5060405163b6b55f2560e01b8152600481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b6b55f2590602401600060405180830381600087803b1580156145bb57600080fd5b505af11580156145cf573d6000803e3d6000fd5b505050505b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166377c7b8fc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015614632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146569190614e95565b6126f483670de0b6b3a7640000614eae565b6060612c14848460008561499e565b60405163095ea7b360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303816000875af1158015614706573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061472a9190614e0f565b506040517fe2bbb1580000000000000000000000000000000000000000000000000000000081527f00000000000000000000000000000000000000000000000000000000000000006004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e2bbb15890604401600060405180830381600087803b1580156147cc57600080fd5b505af11580156147e0573d6000803e3d6000fd5b505050505050565b6000806147f58686613d8d565b509050600080856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015614839573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061485d9190614fc5565b5091509150876001600160a01b0316836001600160a01b03161461487d57905b6000806148ac8b856dffffffffffffffffffffffffffff16856dffffffffffffffffffffffffffff168a613dbe565b9050896001600160a01b0316856001600160a01b0316146148c957905b6148dd6001600160a01b038b16898d612f2a565b604080516000815260208101918290527f022c0d9f000000000000000000000000000000000000000000000000000000009091526001600160a01b0389169063022c0d9f906149359085908590309060248101615015565b600060405180830381600087803b15801561494f57600080fd5b505af1158015614963573d6000803e3d6000fd5b505050508181116149745781614976565b805b9b9a5050505050505050505050565b60006149958585858560036147e8565b95945050505050565b606082471015614a165760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104ee565b6001600160a01b0385163b614a6d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104ee565b600080866001600160a01b03168587604051614a89919061504d565b60006040518083038185875af1925050503d8060008114614ac6576040519150601f19603f3d011682016040523d82523d6000602084013e614acb565b606091505b5091509150614adb828286614ae6565b979650505050505050565b60608315614af5575081610ff0565b825115614b055782518084602001fd5b8160405162461bcd60e51b81526004016104ee9190614b77565b60005b83811015614b3a578181015183820152602001614b22565b838111156121235750506000910152565b60008151808452614b63816020860160208601614b1f565b601f01601f19169290920160200192915050565b602081526000610ff06020830184614b4b565b6001600160a01b038116811461213357600080fd5b60008060408385031215614bb257600080fd5b8235614bbd81614b8a565b946020939093013593505050565b600060208284031215614bdd57600080fd5b5035919050565b600080600060608486031215614bf957600080fd5b8335614c0481614b8a565b92506020840135614c1481614b8a565b929592945050506040919091013590565b60008060408385031215614c3857600080fd5b8235614c4381614b8a565b91506020830135614c5381614b8a565b809150509250929050565b600060208284031215614c7057600080fd5b8135610ff081614b8a565b803560ff81168114614c8c57600080fd5b919050565b600080600080600060a08688031215614ca957600080fd5b8535945060208601359350614cc060408701614c7b565b94979396509394606081013594506080013592915050565b801515811461213357600080fd5b600060208284031215614cf857600080fd5b8135610ff081614cd8565b60008060408385031215614d1657600080fd5b823591506020830135614c5381614cd8565b600080600080600080600060e0888a031215614d4357600080fd5b8735614d4e81614b8a565b96506020880135614d5e81614b8a565b95506040880135945060608801359350614d7a60808901614c7b565b925060a0880135915060c0880135905092959891949750929550565b600181811c90821680614daa57607f821691505b6020821081036116ee57634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082821015614df257614df2614dca565b500390565b60008219821115614e0a57614e0a614dca565b500190565b600060208284031215614e2157600080fd5b8151610ff081614cd8565b60008060408385031215614e3f57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052603260045260246000fd5b600060018201614e7857614e78614dca565b5060010190565b634e487b7160e01b600052603160045260246000fd5b600060208284031215614ea757600080fd5b5051919050565b6000816000190483118215151615614ec857614ec8614dca565b500290565b600082614eea57634e487b7160e01b600052601260045260246000fd5b500490565b600080835481600182811c915080831680614f0b57607f831692505b60208084108203614f2a57634e487b7160e01b86526022600452602486fd5b818015614f3e5760018114614f4f57614f7c565b60ff19861689528489019650614f7c565b60008a81526020902060005b86811015614f745781548b820152908501908301614f5b565b505084890196505b509498975050505050505050565b600060208284031215614f9c57600080fd5b8151610ff081614b8a565b80516dffffffffffffffffffffffffffff81168114614c8c57600080fd5b600080600060608486031215614fda57600080fd5b614fe384614fa7565b9250614ff160208501614fa7565b9150604084015163ffffffff8116811461500a57600080fd5b809150509250925092565b8481528360208201526001600160a01b03831660408201526080606082015260006150436080830184614b4b565b9695505050505050565b6000825161505f818460208701614b1f565b919091019291505056fe4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220ca93d7051ea97267492c0221e99701348f9ecdb230e33f5ebd143a93b33b3daa64736f6c634300080d00334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000000000000000000000c0f8c29e3a9a7650a3f642e467d70087819926d60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f4003f4efbe8691b60249e6afbd307abe7758adb000000000000000000000000000000000000000000000000000000000000012000000000000000000000000086a6391d5d7c02245927e2dc0cbfa3e5f1b9abc7000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000002bc000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000dcedf06fd33e1d7b6eb4b309f779a0e9d3172e4400000000000000000000000000000000000000000000000000000000000000175969656c642059616b3a20576f6f6669207765555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000
4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65728be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0000000000000000000000000c0f8c29e3a9a7650a3f642e467d70087819926d60000000000000000000000000000000000000000000000000000000000000001000000000000000000000000f4003f4efbe8691b60249e6afbd307abe7758adb000000000000000000000000000000000000000000000000000000000000012000000000000000000000000086a6391d5d7c02245927e2dc0cbfa3e5f1b9abc7000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000002bc000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000dcedf06fd33e1d7b6eb4b309f779a0e9d3172e4400000000000000000000000000000000000000000000000000000000000000175969656c642059616b3a20576f6f6669207765555344430000000000000000000000000000000000000000000000000000000000000000000000000000000000