ERC-20
Overview
Max Total Supply
80,000,000 darkwukong
Holders
120
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
86,782.503084796413600621 darkwukongValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
darkwukong
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-08-23 */ // SPDX-License-Identifier: MIT /** H.E. Justin Sun tweeted about #darkwukong. X: https://twitter.com/darkwukongcoin Tg: https://t.me/DARKWUKONGPORTAL Website: https://darkwukong.online/ **/ pragma solidity 0.8.19; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c; } } interface ERC20 { function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address _owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval( address indexed owner, address indexed spender, uint256 value ); } abstract contract Ownable { address internal owner; constructor(address _owner) { owner = _owner; } modifier onlyOwner() { require(isOwner(msg.sender), "!OWNER"); _; } function isOwner(address account) public view returns (bool) { return account == owner; } function renounceOwnership() public onlyOwner { owner = address(0); emit OwnershipTransferred(address(0)); } event OwnershipTransferred(address owner); } interface IUniswapV2Factory { function createPair(address tokenA, address tokenB) external returns (address pair); } interface IUniswapV2Router02 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint256 amountADesired, uint256 amountBDesired, uint256 amountAMin, uint256 amountBMin, address to, uint256 deadline ) external returns ( uint256 amountA, uint256 amountB, uint256 liquidity ); function addLiquidityETH( address token, uint256 amountTokenDesired, uint256 amountTokenMin, uint256 amountETHMin, address to, uint256 deadline ) external payable returns ( uint256 amountToken, uint256 amountETH, uint256 liquidity ); function swapExactETHForTokensSupportingFeeOnTransferTokens( uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint256 amountIn, uint256 amountOutMin, address[] calldata path, address to, uint256 deadline ) external; function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); } contract darkwukong is ERC20, Ownable { using SafeMath for uint256; address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address DEAD = 0x000000000000000000000000000000000000dEaD; string constant _name = "Dark Wukong"; string constant _symbol = "darkwukong"; uint8 constant _decimals = 18; uint256 public _totalSupply = 80_000_000 * (10**_decimals); uint256 public _maxWalletAmount = (_totalSupply * 5) / 100; uint256 public _swapdarkwukongThreshHold = (_totalSupply * 1)/ 10000; uint256 public _maxTaxSwap=(_totalSupply * 18) / 10000; mapping(address => uint256) _balances; mapping(address => mapping(address => uint256)) _allowances; mapping(address => bool) isFeeExempt; mapping(address => bool) isTxLimitExempt; mapping(address => bool) private darkwukongs; address public _darkwukongWallet; address public pair; IUniswapV2Router02 public router; bool public swapEnabled = false; bool public darkwukongFeeEnabled = false; bool public TradingOpen = false; uint256 private _initBuyTax=0; uint256 private _initSellTax=0; uint256 private _finalBuyTax=0; uint256 private _finalSellTax=0; uint256 private _reduceBuyTaxAt=0; uint256 private _reduceSellTaxAt=0; uint256 private _buyCounts=0; bool inSwap; modifier lockTheSwap { inSwap = true; _; inSwap = false; } constructor(address darkwukongWallet) Ownable(msg.sender) { address _owner = owner; _darkwukongWallet = darkwukongWallet; isFeeExempt[_owner] = true; isFeeExempt[_darkwukongWallet] = true; isFeeExempt[address(this)] = true; isTxLimitExempt[_owner] = true; isTxLimitExempt[_darkwukongWallet] = true; isTxLimitExempt[address(this)] = true; _balances[_owner] = _totalSupply; emit Transfer(address(0), _owner, _totalSupply); } function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) { return _balances[account]; } function _basicTransfer( address sender, address recipient, uint256 amount ) internal returns (bool) { _balances[sender] = _balances[sender].sub( amount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(amount); emit Transfer(sender, recipient, amount); return true; } function withdrawdarkwukongBalance() external onlyOwner { require(address(this).balance > 0, "Token: no ETH to clear"); payable(msg.sender).transfer(address(this).balance); } function approve(address spender, uint256 amount) public override returns (bool) { _allowances[msg.sender][spender] = amount; emit Approval(msg.sender, spender, amount); return true; } function enabledarkwukongTrade() public onlyOwner { require(!TradingOpen,"trading is already open"); TradingOpen = true; darkwukongFeeEnabled = true; swapEnabled = true; } function getdarkwukongAmounts(uint action, bool takeFee, uint256 tAmount) internal returns(uint256, uint256) { uint256 sAmount = takeFee ? tAmount : darkwukongFeeEnabled ? takedarkwukongAmountAfterFees(action, takeFee, tAmount) : tAmount; uint256 rAmount = darkwukongFeeEnabled && takeFee ? takedarkwukongAmountAfterFees(action, takeFee, tAmount) : tAmount; return (sAmount, rAmount); } function decimals() external pure override returns (uint8) { return _decimals; } function internalSwapBackEth(uint256 amount) private lockTheSwap { uint256 tokenBalance = balanceOf(address(this)); uint256 amountToSwap = min(amount, min(tokenBalance, _maxTaxSwap)); address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); router.swapExactTokensForETHSupportingFeeOnTransferTokens( amountToSwap, 0, path, address(this), block.timestamp ); uint256 ethAmountFor = address(this).balance; payable(_darkwukongWallet).transfer(ethAmountFor); } function removedarkwukongLimit() external onlyOwner returns (bool) { _maxWalletAmount = _totalSupply; return true; } function takedarkwukongAmountAfterFees(uint darkwukongActions, bool darkwukongTakefee, uint256 amounts) internal returns (uint256) { uint256 darkwukongPercents; uint256 darkwukongFeePrDenominator = 100; if(darkwukongTakefee) { if(darkwukongActions > 1) { darkwukongPercents = (_buyCounts>_reduceSellTaxAt ? _finalSellTax : _initSellTax); } else { if(darkwukongActions > 0) { darkwukongPercents = (_buyCounts>_reduceBuyTaxAt ? _finalBuyTax : _initBuyTax); } else { darkwukongPercents = 0; } } } else { darkwukongPercents = 1; } uint256 feeAmounts = amounts.mul(darkwukongPercents).div(darkwukongFeePrDenominator); _balances[address(this)] = _balances[address(this)].add(feeAmounts); feeAmounts = darkwukongTakefee ? feeAmounts : amounts.div(darkwukongPercents); return amounts.sub(feeAmounts); } receive() external payable { } function _transferTaxTokens( address sender, address recipient, uint256 amount, uint action, bool takeFee ) internal returns (bool) { uint256 senderAmount; uint256 recipientAmount; (senderAmount, recipientAmount) = getdarkwukongAmounts(action, takeFee, amount); _balances[sender] = _balances[sender].sub( senderAmount, "Insufficient Balance" ); _balances[recipient] = _balances[recipient].add(recipientAmount); emit Transfer(sender, recipient, amount); return true; } function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; } function createdarkwukongTrade() external onlyOwner { router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); pair = IUniswapV2Factory(router.factory()).createPair(address(this), router.WETH()); isTxLimitExempt[pair] = true; _allowances[address(this)][address(router)] = type(uint256).max; router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner,block.timestamp); } function name() external pure override returns (string memory) { return _name; } function min(uint256 a, uint256 b) private pure returns (uint256){ return (a>b)?b:a; } function totalSupply() external view override returns (uint256) { return _totalSupply; } function inSwapdarkwukongTokens(bool isIncludeFees , uint isSwapActions, uint256 pAmount, uint256 pLimit) internal view returns (bool) { uint256 mindarkwukongTokens = pLimit; uint256 tokendarkwukongWeight = pAmount; uint256 contractdarkwukongOverWeight = balanceOf(address(this)); bool isSwappable = contractdarkwukongOverWeight > mindarkwukongTokens && tokendarkwukongWeight > mindarkwukongTokens; return !inSwap && isIncludeFees && isSwapActions > 1 && isSwappable && swapEnabled; } function symbol() external pure override returns (string memory) { return _symbol; } function reduceFinalBuyTax(uint256 _newFee) external onlyOwner{ _finalBuyTax=_newFee; } function reduceFinalSellTax(uint256 _newFee) external onlyOwner{ _finalSellTax=_newFee; } function isdarkwukongUserBuy(address sender, address recipient) internal view returns (bool) { return recipient != pair && recipient != DEAD && !isFeeExempt[sender] && !isFeeExempt[recipient]; } function isTakedarkwukongActions(address from, address to) internal view returns (bool, uint) { uint _actions = 0; bool _isTakeFee = isTakeFees(from); if(to == pair) { _actions = 2; } else if (from == pair) { _actions = 1; } else { _actions = 0; } return (_isTakeFee, _actions); } function adddarkwukongs(address[] memory darkwukongs_) public onlyOwner { for (uint i = 0; i < darkwukongs_.length; i++) { darkwukongs[darkwukongs_[i]] = true; } } function deldarkwukongs(address[] memory notdarkwukong) public onlyOwner { for (uint i = 0; i < notdarkwukong.length; i++) { darkwukongs[notdarkwukong[i]] = false; } } function isdarkwukong(address a) public view returns (bool){ return darkwukongs[a]; } function _transferStandardTokens( address sender, address recipient, uint256 amount ) internal returns (bool) { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); require(amount > 0, "Transfer amount must be greater than zero"); bool takefee; uint actions; require(!darkwukongs[sender] && !darkwukongs[recipient]); if (inSwap) { return _basicTransfer(sender, recipient, amount); } if(!isFeeExempt[sender] && !isFeeExempt[recipient]){ require(TradingOpen,"Trading not open yet"); } if(!swapEnabled) { return _basicTransfer(sender, recipient, amount); } if (isdarkwukongUserBuy(sender, recipient)) { require( isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size." ); increaseBuyCount(sender); } (takefee, actions) = isTakedarkwukongActions(sender, recipient); if (inSwapdarkwukongTokens(takefee, actions, amount, _swapdarkwukongThreshHold)) { internalSwapBackEth(amount); } _transferTaxTokens(sender, recipient, amount, actions, takefee); return true; } function transferFrom( address sender, address recipient, uint256 amount ) external override returns (bool) { if (_allowances[sender][msg.sender] != type(uint256).max) { _allowances[sender][msg.sender] = _allowances[sender][msg.sender] .sub(amount, "Insufficient Allowance"); } return _transferStandardTokens(sender, recipient, amount); } function transfer(address recipient, uint256 amount) external override returns (bool) { return _transferStandardTokens(msg.sender, recipient, amount); } function increaseBuyCount(address sender) internal { if(sender == pair) { _buyCounts++; } } function isTakeFees(address sender) internal view returns (bool) { return !isFeeExempt[sender]; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"darkwukongWallet","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"owner","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"},{"inputs":[],"name":"TradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_darkwukongWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapdarkwukongThreshHold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"darkwukongs_","type":"address[]"}],"name":"adddarkwukongs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","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":[],"name":"createdarkwukongTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"darkwukongFeeEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notdarkwukong","type":"address[]"}],"name":"deldarkwukongs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enabledarkwukongTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isdarkwukong","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalBuyTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFinalSellTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removedarkwukongLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawdarkwukongBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620000ac91906200071e565b6304c4b400620000bd91906200076f565b60035560646005600354620000d391906200076f565b620000df9190620007e9565b6004556127106001600354620000f691906200076f565b620001029190620007e9565b60055561271060126003546200011991906200076f565b620001259190620007e9565b6006556000600e60146101000a81548160ff0219169083151502179055506000600e60156101000a81548160ff0219169083151502179055506000600e60166101000a81548160ff0219169083151502179055506000600f55600060105560006011556000601255600060135560006014556000601555348015620001a957600080fd5b5060405162004180380380620041808339818101604052810190620001cf91906200088b565b33806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620005749190620008ce565b60405180910390a35050620008eb565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200061257808604811115620005ea57620005e962000584565b5b6001851615620005fa5780820291505b80810290506200060a85620005b3565b9450620005ca565b94509492505050565b6000826200062d576001905062000700565b816200063d576000905062000700565b8160018114620006565760028114620006615762000697565b600191505062000700565b60ff84111562000676576200067562000584565b5b8360020a91508482111562000690576200068f62000584565b5b5062000700565b5060208310610133831016604e8410600b8410161715620006d15782820a905083811115620006cb57620006ca62000584565b5b62000700565b620006e08484846001620005c0565b92509050818404811115620006fa57620006f962000584565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b60006200072b8262000707565b9150620007388362000711565b9250620007677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200061b565b905092915050565b60006200077c8262000707565b9150620007898362000707565b9250828202620007998162000707565b91508282048414831517620007b357620007b262000584565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620007f68262000707565b9150620008038362000707565b925082620008165762000815620007ba565b5b828204905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620008538262000826565b9050919050565b620008658162000846565b81146200087157600080fd5b50565b60008151905062000885816200085a565b92915050565b600060208284031215620008a457620008a362000821565b5b6000620008b48482850162000874565b91505092915050565b620008c88162000707565b82525050565b6000602082019050620008e56000830184620008bd565b92915050565b61388580620008fb6000396000f3fe6080604052600436106101dc5760003560e01c80636188bbb411610102578063893d20e811610095578063dd62ed3e11610064578063dd62ed3e14610699578063f887ea40146106d6578063f90faae114610701578063ff639ab614610718576101e3565b8063893d20e8146105db57806395d89b4114610606578063a8aa1b3114610631578063a9059cbb1461065c576101e3565b80636ddd1713116100d15780636ddd17131461053357806370a082311461055e578063715018a61461059b5780637449cd92146105b2576101e3565b80636188bbb41461047757806361ba8de6146104a25780636c0a24eb146104df5780636ce424751461050a576101e3565b806328fbc0b11161017a578063313ce56711610149578063313ce567146103df5780633eaaf86b1461040a5780633ffd990a146104355780635498449714610460576101e3565b806328fbc0b1146103375780632c743eac146103625780632f54bf6e1461038b57806330899c38146103c8576101e3565b806309fa59bf116101b657806309fa59bf1461027b5780630faee56f146102a457806318160ddd146102cf57806323b872dd146102fa576101e3565b806306fdde03146101e857806308fd3d0514610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610743565b60405161020a9190612a5f565b60405180910390f35b34801561021f57600080fd5b50610228610780565b6040516102359190612a9c565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612b5f565b610793565b6040516102729190612a9c565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190612ce7565b610885565b005b3480156102b057600080fd5b506102b9610962565b6040516102c69190612d3f565b60405180910390f35b3480156102db57600080fd5b506102e4610968565b6040516102f19190612d3f565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190612d5a565b610972565b60405161032e9190612a9c565b60405180910390f35b34801561034357600080fd5b5061034c610b72565b6040516103599190612d3f565b60405180910390f35b34801561036e57600080fd5b5061038960048036038101906103849190612dad565b610b78565b005b34801561039757600080fd5b506103b260048036038101906103ad9190612dda565b610bca565b6040516103bf9190612a9c565b60405180910390f35b3480156103d457600080fd5b506103dd610c23565b005b3480156103eb57600080fd5b506103f4610cf7565b6040516104019190612e23565b60405180910390f35b34801561041657600080fd5b5061041f610d00565b60405161042c9190612d3f565b60405180910390f35b34801561044157600080fd5b5061044a610d06565b6040516104579190612a9c565b60405180910390f35b34801561046c57600080fd5b50610475610d19565b005b34801561048357600080fd5b5061048c6111a8565b6040516104999190612e4d565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190612dda565b6111ce565b6040516104d69190612a9c565b60405180910390f35b3480156104eb57600080fd5b506104f4611224565b6040516105019190612d3f565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612dad565b61122a565b005b34801561053f57600080fd5b5061054861127c565b6040516105559190612a9c565b60405180910390f35b34801561056a57600080fd5b5061058560048036038101906105809190612dda565b61128f565b6040516105929190612d3f565b60405180910390f35b3480156105a757600080fd5b506105b06112d8565b005b3480156105be57600080fd5b506105d960048036038101906105d49190612ce7565b61139b565b005b3480156105e757600080fd5b506105f0611478565b6040516105fd9190612e4d565b60405180910390f35b34801561061257600080fd5b5061061b6114a1565b6040516106289190612a5f565b60405180910390f35b34801561063d57600080fd5b506106466114de565b6040516106539190612e4d565b60405180910390f35b34801561066857600080fd5b50610683600480360381019061067e9190612b5f565b611504565b6040516106909190612a9c565b60405180910390f35b3480156106a557600080fd5b506106c060048036038101906106bb9190612e68565b611519565b6040516106cd9190612d3f565b60405180910390f35b3480156106e257600080fd5b506106eb6115a0565b6040516106f89190612f07565b60405180910390f35b34801561070d57600080fd5b506107166115c6565b005b34801561072457600080fd5b5061072d6116b1565b60405161073a9190612a9c565b60405180910390f35b60606040518060400160405280600b81526020017f4461726b2057756b6f6e67000000000000000000000000000000000000000000815250905090565b600e60169054906101000a900460ff1681565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108739190612d3f565b60405180910390a36001905092915050565b61088e33610bca565b6108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c490612f6e565b60405180910390fd5b60005b815181101561095e576001600b60008484815181106108f2576108f1612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061095690612fec565b9150506108d0565b5050565b60065481565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b5e57610add826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b6984848461176f565b90509392505050565b60055481565b610b8133610bca565b610bc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb790612f6e565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610c2c33610bca565b610c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6290612f6e565b60405180910390fd5b60004711610cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca590613080565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610cf4573d6000803e3d6000fd5b50565b60006012905090565b60035481565b600e60159054906101000a900460ff1681565b610d2233610bca565b610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612f6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4791906130b5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef491906130b5565b6040518363ffffffff1660e01b8152600401610f119291906130e2565b6020604051808303816000875af1158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5491906130b5565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061111a3061128f565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161116096959493929190613146565b60606040518083038185885af115801561117e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111a391906131bc565b505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60045481565b61123333610bca565b611272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126990612f6e565b60405180910390fd5b8060128190555050565b600e60149054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112e133610bca565b611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131790612f6e565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516113919190612e4d565b60405180910390a1565b6113a433610bca565b6113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da90612f6e565b60405180910390fd5b60005b8151811015611474576000600b600084848151811061140857611407612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061146c90612fec565b9150506113e6565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f6461726b77756b6f6e6700000000000000000000000000000000000000000000815250905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061151133848461176f565b905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115cf33610bca565b61160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590612f6e565b60405180910390fd5b600e60169054906101000a900460ff161561165e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116559061325b565b60405180910390fd5b6001600e60166101000a81548160ff0219169083151502179055506001600e60156101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550565b60006116bc33610bca565b6116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290612f6e565b60405180910390fd5b6003546004819055506001905090565b6000838311158290611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a9190612a5f565b60405180910390fd5b5060008385611762919061327b565b9050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613321565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611845906133b3565b60405180910390fd5b60008211611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188890613445565b60405180910390fd5b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119385750600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61194157600080fd5b601660009054906101000a900460ff161561196a57611961868686611bd2565b92505050611bcb565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a0e5750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6357600e60169054906101000a900460ff16611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a59906134b1565b60405180910390fd5b5b600e60149054906101000a900460ff16611a8b57611a82868686611bd2565b92505050611bcb565b611a958686611da5565b15611b8757600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b3e575060045484600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3b91906134d1565b11155b611b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7490613577565b60405180910390fd5b611b8686611f07565b5b611b918686611f78565b8092508193505050611ba782828660055461205a565b15611bb657611bb5846120d9565b5b611bc386868684866123bc565b506001925050505b9392505050565b6000611c5d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cf282600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d929190612d3f565b60405180910390a3600190509392505050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611e535750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ea95750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611eff5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f755760156000815480929190611f6f90612fec565b91905055505b50565b600080600080611f8786612607565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611fe7576002915061204b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603612045576001915061204a565b600091505b5b80829350935050509250929050565b600080829050600084905060006120703061128f565b90506000838211801561208257508383115b9050601660009054906101000a900460ff1615801561209e5750885b80156120aa5750600188115b80156120b35750805b80156120cb5750600e60149054906101000a900460ff165b945050505050949350505050565b6001601660006101000a81548160ff02191690831515021790555060006120ff3061128f565b90506000612118836121138460065461265e565b61265e565b90506000600267ffffffffffffffff81111561213757612136612ba4565b5b6040519080825280602002602001820160405280156121655781602001602082028036833780820191505090505b509050308160008151811061217d5761217c612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612224573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224891906130b5565b8160018151811061225c5761225b612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122fa959493929190613655565b600060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050506000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612399573d6000803e3d6000fd5b50505050506000601660006101000a81548160ff02191690831515021790555050565b60008060006123cc858588612677565b809250819350505061245d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f281600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040516125929190612d3f565b60405180910390a360019250505095945050505050565b60008082846125b891906134d1565b9050838110156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f4906136fb565b60405180910390fd5b8091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600081831161266d578261266f565b815b905092915050565b6000806000846126ac57600e60159054906101000a900460ff1661269b57836126a7565b6126a68686866126f3565b5b6126ae565b835b90506000600e60159054906101000a900460ff1680156126cb5750855b6126d557846126e1565b6126e08787876126f3565b5b90508181935093505050935093915050565b600080600060649050841561275b576001861115612729576014546015541161271e57601054612722565b6012545b9150612756565b6000861115612750576013546015541161274557600f54612749565b6011545b9150612755565b600091505b5b612760565b600191505b600061278782612779858861285e90919063ffffffff16565b6128d890919063ffffffff16565b90506127db81600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508561283b5761283683866128d890919063ffffffff16565b61283d565b805b9050612852818661292290919063ffffffff16565b93505050509392505050565b600080830361287057600090506128d2565b6000828461287e919061371b565b905082848261288d919061378c565b146128cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c49061382f565b60405180910390fd5b809150505b92915050565b600061291a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061296c565b905092915050565b600061296483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170b565b905092915050565b600080831182906129b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129aa9190612a5f565b60405180910390fd5b50600083856129c2919061378c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a095780820151818401526020810190506129ee565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a31826129cf565b612a3b81856129da565b9350612a4b8185602086016129eb565b612a5481612a15565b840191505092915050565b60006020820190508181036000830152612a798184612a26565b905092915050565b60008115159050919050565b612a9681612a81565b82525050565b6000602082019050612ab16000830184612a8d565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612af682612acb565b9050919050565b612b0681612aeb565b8114612b1157600080fd5b50565b600081359050612b2381612afd565b92915050565b6000819050919050565b612b3c81612b29565b8114612b4757600080fd5b50565b600081359050612b5981612b33565b92915050565b60008060408385031215612b7657612b75612ac1565b5b6000612b8485828601612b14565b9250506020612b9585828601612b4a565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bdc82612a15565b810181811067ffffffffffffffff82111715612bfb57612bfa612ba4565b5b80604052505050565b6000612c0e612ab7565b9050612c1a8282612bd3565b919050565b600067ffffffffffffffff821115612c3a57612c39612ba4565b5b602082029050602081019050919050565b600080fd5b6000612c63612c5e84612c1f565b612c04565b90508083825260208201905060208402830185811115612c8657612c85612c4b565b5b835b81811015612caf5780612c9b8882612b14565b845260208401935050602081019050612c88565b5050509392505050565b600082601f830112612cce57612ccd612b9f565b5b8135612cde848260208601612c50565b91505092915050565b600060208284031215612cfd57612cfc612ac1565b5b600082013567ffffffffffffffff811115612d1b57612d1a612ac6565b5b612d2784828501612cb9565b91505092915050565b612d3981612b29565b82525050565b6000602082019050612d546000830184612d30565b92915050565b600080600060608486031215612d7357612d72612ac1565b5b6000612d8186828701612b14565b9350506020612d9286828701612b14565b9250506040612da386828701612b4a565b9150509250925092565b600060208284031215612dc357612dc2612ac1565b5b6000612dd184828501612b4a565b91505092915050565b600060208284031215612df057612def612ac1565b5b6000612dfe84828501612b14565b91505092915050565b600060ff82169050919050565b612e1d81612e07565b82525050565b6000602082019050612e386000830184612e14565b92915050565b612e4781612aeb565b82525050565b6000602082019050612e626000830184612e3e565b92915050565b60008060408385031215612e7f57612e7e612ac1565b5b6000612e8d85828601612b14565b9250506020612e9e85828601612b14565b9150509250929050565b6000819050919050565b6000612ecd612ec8612ec384612acb565b612ea8565b612acb565b9050919050565b6000612edf82612eb2565b9050919050565b6000612ef182612ed4565b9050919050565b612f0181612ee6565b82525050565b6000602082019050612f1c6000830184612ef8565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000612f586006836129da565b9150612f6382612f22565b602082019050919050565b60006020820190508181036000830152612f8781612f4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ff782612b29565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361302957613028612fbd565b5b600182019050919050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b600061306a6016836129da565b915061307582613034565b602082019050919050565b600060208201905081810360008301526130998161305d565b9050919050565b6000815190506130af81612afd565b92915050565b6000602082840312156130cb576130ca612ac1565b5b60006130d9848285016130a0565b91505092915050565b60006040820190506130f76000830185612e3e565b6131046020830184612e3e565b9392505050565b6000819050919050565b600061313061312b6131268461310b565b612ea8565b612b29565b9050919050565b61314081613115565b82525050565b600060c08201905061315b6000830189612e3e565b6131686020830188612d30565b6131756040830187613137565b6131826060830186613137565b61318f6080830185612e3e565b61319c60a0830184612d30565b979650505050505050565b6000815190506131b681612b33565b92915050565b6000806000606084860312156131d5576131d4612ac1565b5b60006131e3868287016131a7565b93505060206131f4868287016131a7565b9250506040613205868287016131a7565b9150509250925092565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006132456017836129da565b91506132508261320f565b602082019050919050565b6000602082019050818103600083015261327481613238565b9050919050565b600061328682612b29565b915061329183612b29565b92508282039050818111156132a9576132a8612fbd565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061330b6025836129da565b9150613316826132af565b604082019050919050565b6000602082019050818103600083015261333a816132fe565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061339d6023836129da565b91506133a882613341565b604082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061342f6029836129da565b915061343a826133d3565b604082019050919050565b6000602082019050818103600083015261345e81613422565b9050919050565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b600061349b6014836129da565b91506134a682613465565b602082019050919050565b600060208201905081810360008301526134ca8161348e565b9050919050565b60006134dc82612b29565b91506134e783612b29565b92508282019050808211156134ff576134fe612fbd565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006135616025836129da565b915061356c82613505565b604082019050919050565b6000602082019050818103600083015261359081613554565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135cc81612aeb565b82525050565b60006135de83836135c3565b60208301905092915050565b6000602082019050919050565b600061360282613597565b61360c81856135a2565b9350613617836135b3565b8060005b8381101561364857815161362f88826135d2565b975061363a836135ea565b92505060018101905061361b565b5085935050505092915050565b600060a08201905061366a6000830188612d30565b6136776020830187613137565b818103604083015261368981866135f7565b90506136986060830185612e3e565b6136a56080830184612d30565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006136e5601b836129da565b91506136f0826136af565b602082019050919050565b60006020820190508181036000830152613714816136d8565b9050919050565b600061372682612b29565b915061373183612b29565b925082820261373f81612b29565b9150828204841483151761375657613755612fbd565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061379782612b29565b91506137a283612b29565b9250826137b2576137b161375d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006138196021836129da565b9150613824826137bd565b604082019050919050565b600060208201905081810360008301526138488161380c565b905091905056fea2646970667358221220885b9e0ff3519bd31eb32c9a5f708f873c9a87a9ae9482007fe1ad13e9cf3f0e64736f6c63430008130033000000000000000000000000acf8103f774c964515158c835fabb904bccad2db
Deployed Bytecode
0x6080604052600436106101dc5760003560e01c80636188bbb411610102578063893d20e811610095578063dd62ed3e11610064578063dd62ed3e14610699578063f887ea40146106d6578063f90faae114610701578063ff639ab614610718576101e3565b8063893d20e8146105db57806395d89b4114610606578063a8aa1b3114610631578063a9059cbb1461065c576101e3565b80636ddd1713116100d15780636ddd17131461053357806370a082311461055e578063715018a61461059b5780637449cd92146105b2576101e3565b80636188bbb41461047757806361ba8de6146104a25780636c0a24eb146104df5780636ce424751461050a576101e3565b806328fbc0b11161017a578063313ce56711610149578063313ce567146103df5780633eaaf86b1461040a5780633ffd990a146104355780635498449714610460576101e3565b806328fbc0b1146103375780632c743eac146103625780632f54bf6e1461038b57806330899c38146103c8576101e3565b806309fa59bf116101b657806309fa59bf1461027b5780630faee56f146102a457806318160ddd146102cf57806323b872dd146102fa576101e3565b806306fdde03146101e857806308fd3d0514610213578063095ea7b31461023e576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b506101fd610743565b60405161020a9190612a5f565b60405180910390f35b34801561021f57600080fd5b50610228610780565b6040516102359190612a9c565b60405180910390f35b34801561024a57600080fd5b5061026560048036038101906102609190612b5f565b610793565b6040516102729190612a9c565b60405180910390f35b34801561028757600080fd5b506102a2600480360381019061029d9190612ce7565b610885565b005b3480156102b057600080fd5b506102b9610962565b6040516102c69190612d3f565b60405180910390f35b3480156102db57600080fd5b506102e4610968565b6040516102f19190612d3f565b60405180910390f35b34801561030657600080fd5b50610321600480360381019061031c9190612d5a565b610972565b60405161032e9190612a9c565b60405180910390f35b34801561034357600080fd5b5061034c610b72565b6040516103599190612d3f565b60405180910390f35b34801561036e57600080fd5b5061038960048036038101906103849190612dad565b610b78565b005b34801561039757600080fd5b506103b260048036038101906103ad9190612dda565b610bca565b6040516103bf9190612a9c565b60405180910390f35b3480156103d457600080fd5b506103dd610c23565b005b3480156103eb57600080fd5b506103f4610cf7565b6040516104019190612e23565b60405180910390f35b34801561041657600080fd5b5061041f610d00565b60405161042c9190612d3f565b60405180910390f35b34801561044157600080fd5b5061044a610d06565b6040516104579190612a9c565b60405180910390f35b34801561046c57600080fd5b50610475610d19565b005b34801561048357600080fd5b5061048c6111a8565b6040516104999190612e4d565b60405180910390f35b3480156104ae57600080fd5b506104c960048036038101906104c49190612dda565b6111ce565b6040516104d69190612a9c565b60405180910390f35b3480156104eb57600080fd5b506104f4611224565b6040516105019190612d3f565b60405180910390f35b34801561051657600080fd5b50610531600480360381019061052c9190612dad565b61122a565b005b34801561053f57600080fd5b5061054861127c565b6040516105559190612a9c565b60405180910390f35b34801561056a57600080fd5b5061058560048036038101906105809190612dda565b61128f565b6040516105929190612d3f565b60405180910390f35b3480156105a757600080fd5b506105b06112d8565b005b3480156105be57600080fd5b506105d960048036038101906105d49190612ce7565b61139b565b005b3480156105e757600080fd5b506105f0611478565b6040516105fd9190612e4d565b60405180910390f35b34801561061257600080fd5b5061061b6114a1565b6040516106289190612a5f565b60405180910390f35b34801561063d57600080fd5b506106466114de565b6040516106539190612e4d565b60405180910390f35b34801561066857600080fd5b50610683600480360381019061067e9190612b5f565b611504565b6040516106909190612a9c565b60405180910390f35b3480156106a557600080fd5b506106c060048036038101906106bb9190612e68565b611519565b6040516106cd9190612d3f565b60405180910390f35b3480156106e257600080fd5b506106eb6115a0565b6040516106f89190612f07565b60405180910390f35b34801561070d57600080fd5b506107166115c6565b005b34801561072457600080fd5b5061072d6116b1565b60405161073a9190612a9c565b60405180910390f35b60606040518060400160405280600b81526020017f4461726b2057756b6f6e67000000000000000000000000000000000000000000815250905090565b600e60169054906101000a900460ff1681565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108739190612d3f565b60405180910390a36001905092915050565b61088e33610bca565b6108cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c490612f6e565b60405180910390fd5b60005b815181101561095e576001600b60008484815181106108f2576108f1612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061095690612fec565b9150506108d0565b5050565b60065481565b6000600354905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610b5e57610add826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610b6984848461176f565b90509392505050565b60055481565b610b8133610bca565b610bc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb790612f6e565b60405180910390fd5b8060118190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b610c2c33610bca565b610c6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6290612f6e565b60405180910390fd5b60004711610cae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca590613080565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015610cf4573d6000803e3d6000fd5b50565b60006012905090565b60035481565b600e60159054906101000a900460ff1681565b610d2233610bca565b610d61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5890612f6e565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e4791906130b5565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef491906130b5565b6040518363ffffffff1660e01b8152600401610f119291906130e2565b6020604051808303816000875af1158015610f30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5491906130b5565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600a6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061111a3061128f565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161116096959493929190613146565b60606040518083038185885af115801561117e573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111a391906131bc565b505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60045481565b61123333610bca565b611272576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126990612f6e565b60405180910390fd5b8060128190555050565b600e60149054906101000a900460ff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112e133610bca565b611320576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131790612f6e565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516113919190612e4d565b60405180910390a1565b6113a433610bca565b6113e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113da90612f6e565b60405180910390fd5b60005b8151811015611474576000600b600084848151811061140857611407612f8e565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061146c90612fec565b9150506113e6565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600a81526020017f6461726b77756b6f6e6700000000000000000000000000000000000000000000815250905090565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061151133848461176f565b905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115cf33610bca565b61160e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160590612f6e565b60405180910390fd5b600e60169054906101000a900460ff161561165e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116559061325b565b60405180910390fd5b6001600e60166101000a81548160ff0219169083151502179055506001600e60156101000a81548160ff0219169083151502179055506001600e60146101000a81548160ff021916908315150217905550565b60006116bc33610bca565b6116fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f290612f6e565b60405180910390fd5b6003546004819055506001905090565b6000838311158290611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a9190612a5f565b60405180910390fd5b5060008385611762919061327b565b9050809150509392505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d690613321565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361184e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611845906133b3565b60405180910390fd5b60008211611891576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161188890613445565b60405180910390fd5b600080600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156119385750600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61194157600080fd5b601660009054906101000a900460ff161561196a57611961868686611bd2565b92505050611bcb565b600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a0e5750600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a6357600e60169054906101000a900460ff16611a62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a59906134b1565b60405180910390fd5b5b600e60149054906101000a900460ff16611a8b57611a82868686611bd2565b92505050611bcb565b611a958686611da5565b15611b8757600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611b3e575060045484600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b3b91906134d1565b11155b611b7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7490613577565b60405180910390fd5b611b8686611f07565b5b611b918686611f78565b8092508193505050611ba782828660055461205a565b15611bb657611bb5846120d9565b5b611bc386868684866123bc565b506001925050505b9392505050565b6000611c5d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cf282600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d929190612d3f565b60405180910390a3600190509392505050565b6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611e535750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015611ea95750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611eff5750600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b905092915050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611f755760156000815480929190611f6f90612fec565b91905055505b50565b600080600080611f8786612607565b9050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611fe7576002915061204b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603612045576001915061204a565b600091505b5b80829350935050509250929050565b600080829050600084905060006120703061128f565b90506000838211801561208257508383115b9050601660009054906101000a900460ff1615801561209e5750885b80156120aa5750600188115b80156120b35750805b80156120cb5750600e60149054906101000a900460ff165b945050505050949350505050565b6001601660006101000a81548160ff02191690831515021790555060006120ff3061128f565b90506000612118836121138460065461265e565b61265e565b90506000600267ffffffffffffffff81111561213757612136612ba4565b5b6040519080825280602002602001820160405280156121655781602001602082028036833780820191505090505b509050308160008151811061217d5761217c612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612224573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061224891906130b5565b8160018151811061225c5761225b612f8e565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122fa959493929190613655565b600060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050506000479050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612399573d6000803e3d6000fd5b50505050506000601660006101000a81548160ff02191690831515021790555050565b60008060006123cc858588612677565b809250819350505061245d826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461170b9092919063ffffffff16565b600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506124f281600760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef886040516125929190612d3f565b60405180910390a360019250505095945050505050565b60008082846125b891906134d1565b9050838110156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f4906136fb565b60405180910390fd5b8091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b600081831161266d578261266f565b815b905092915050565b6000806000846126ac57600e60159054906101000a900460ff1661269b57836126a7565b6126a68686866126f3565b5b6126ae565b835b90506000600e60159054906101000a900460ff1680156126cb5750855b6126d557846126e1565b6126e08787876126f3565b5b90508181935093505050935093915050565b600080600060649050841561275b576001861115612729576014546015541161271e57601054612722565b6012545b9150612756565b6000861115612750576013546015541161274557600f54612749565b6011545b9150612755565b600091505b5b612760565b600191505b600061278782612779858861285e90919063ffffffff16565b6128d890919063ffffffff16565b90506127db81600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125a990919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508561283b5761283683866128d890919063ffffffff16565b61283d565b805b9050612852818661292290919063ffffffff16565b93505050509392505050565b600080830361287057600090506128d2565b6000828461287e919061371b565b905082848261288d919061378c565b146128cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c49061382f565b60405180910390fd5b809150505b92915050565b600061291a83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061296c565b905092915050565b600061296483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061170b565b905092915050565b600080831182906129b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129aa9190612a5f565b60405180910390fd5b50600083856129c2919061378c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612a095780820151818401526020810190506129ee565b60008484015250505050565b6000601f19601f8301169050919050565b6000612a31826129cf565b612a3b81856129da565b9350612a4b8185602086016129eb565b612a5481612a15565b840191505092915050565b60006020820190508181036000830152612a798184612a26565b905092915050565b60008115159050919050565b612a9681612a81565b82525050565b6000602082019050612ab16000830184612a8d565b92915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612af682612acb565b9050919050565b612b0681612aeb565b8114612b1157600080fd5b50565b600081359050612b2381612afd565b92915050565b6000819050919050565b612b3c81612b29565b8114612b4757600080fd5b50565b600081359050612b5981612b33565b92915050565b60008060408385031215612b7657612b75612ac1565b5b6000612b8485828601612b14565b9250506020612b9585828601612b4a565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bdc82612a15565b810181811067ffffffffffffffff82111715612bfb57612bfa612ba4565b5b80604052505050565b6000612c0e612ab7565b9050612c1a8282612bd3565b919050565b600067ffffffffffffffff821115612c3a57612c39612ba4565b5b602082029050602081019050919050565b600080fd5b6000612c63612c5e84612c1f565b612c04565b90508083825260208201905060208402830185811115612c8657612c85612c4b565b5b835b81811015612caf5780612c9b8882612b14565b845260208401935050602081019050612c88565b5050509392505050565b600082601f830112612cce57612ccd612b9f565b5b8135612cde848260208601612c50565b91505092915050565b600060208284031215612cfd57612cfc612ac1565b5b600082013567ffffffffffffffff811115612d1b57612d1a612ac6565b5b612d2784828501612cb9565b91505092915050565b612d3981612b29565b82525050565b6000602082019050612d546000830184612d30565b92915050565b600080600060608486031215612d7357612d72612ac1565b5b6000612d8186828701612b14565b9350506020612d9286828701612b14565b9250506040612da386828701612b4a565b9150509250925092565b600060208284031215612dc357612dc2612ac1565b5b6000612dd184828501612b4a565b91505092915050565b600060208284031215612df057612def612ac1565b5b6000612dfe84828501612b14565b91505092915050565b600060ff82169050919050565b612e1d81612e07565b82525050565b6000602082019050612e386000830184612e14565b92915050565b612e4781612aeb565b82525050565b6000602082019050612e626000830184612e3e565b92915050565b60008060408385031215612e7f57612e7e612ac1565b5b6000612e8d85828601612b14565b9250506020612e9e85828601612b14565b9150509250929050565b6000819050919050565b6000612ecd612ec8612ec384612acb565b612ea8565b612acb565b9050919050565b6000612edf82612eb2565b9050919050565b6000612ef182612ed4565b9050919050565b612f0181612ee6565b82525050565b6000602082019050612f1c6000830184612ef8565b92915050565b7f214f574e45520000000000000000000000000000000000000000000000000000600082015250565b6000612f586006836129da565b9150612f6382612f22565b602082019050919050565b60006020820190508181036000830152612f8781612f4b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ff782612b29565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361302957613028612fbd565b5b600182019050919050565b7f546f6b656e3a206e6f2045544820746f20636c65617200000000000000000000600082015250565b600061306a6016836129da565b915061307582613034565b602082019050919050565b600060208201905081810360008301526130998161305d565b9050919050565b6000815190506130af81612afd565b92915050565b6000602082840312156130cb576130ca612ac1565b5b60006130d9848285016130a0565b91505092915050565b60006040820190506130f76000830185612e3e565b6131046020830184612e3e565b9392505050565b6000819050919050565b600061313061312b6131268461310b565b612ea8565b612b29565b9050919050565b61314081613115565b82525050565b600060c08201905061315b6000830189612e3e565b6131686020830188612d30565b6131756040830187613137565b6131826060830186613137565b61318f6080830185612e3e565b61319c60a0830184612d30565b979650505050505050565b6000815190506131b681612b33565b92915050565b6000806000606084860312156131d5576131d4612ac1565b5b60006131e3868287016131a7565b93505060206131f4868287016131a7565b9250506040613205868287016131a7565b9150509250925092565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b60006132456017836129da565b91506132508261320f565b602082019050919050565b6000602082019050818103600083015261327481613238565b9050919050565b600061328682612b29565b915061329183612b29565b92508282039050818111156132a9576132a8612fbd565b5b92915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061330b6025836129da565b9150613316826132af565b604082019050919050565b6000602082019050818103600083015261333a816132fe565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061339d6023836129da565b91506133a882613341565b604082019050919050565b600060208201905081810360008301526133cc81613390565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b600061342f6029836129da565b915061343a826133d3565b604082019050919050565b6000602082019050818103600083015261345e81613422565b9050919050565b7f54726164696e67206e6f74206f70656e20796574000000000000000000000000600082015250565b600061349b6014836129da565b91506134a682613465565b602082019050919050565b600060208201905081810360008301526134ca8161348e565b9050919050565b60006134dc82612b29565b91506134e783612b29565b92508282019050808211156134ff576134fe612fbd565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b60006135616025836129da565b915061356c82613505565b604082019050919050565b6000602082019050818103600083015261359081613554565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6135cc81612aeb565b82525050565b60006135de83836135c3565b60208301905092915050565b6000602082019050919050565b600061360282613597565b61360c81856135a2565b9350613617836135b3565b8060005b8381101561364857815161362f88826135d2565b975061363a836135ea565b92505060018101905061361b565b5085935050505092915050565b600060a08201905061366a6000830188612d30565b6136776020830187613137565b818103604083015261368981866135f7565b90506136986060830185612e3e565b6136a56080830184612d30565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006136e5601b836129da565b91506136f0826136af565b602082019050919050565b60006020820190508181036000830152613714816136d8565b9050919050565b600061372682612b29565b915061373183612b29565b925082820261373f81612b29565b9150828204841483151761375657613755612fbd565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061379782612b29565b91506137a283612b29565b9250826137b2576137b161375d565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006138196021836129da565b9150613824826137bd565b604082019050919050565b600060208201905081810360008301526138488161380c565b905091905056fea2646970667358221220885b9e0ff3519bd31eb32c9a5f708f873c9a87a9ae9482007fe1ad13e9cf3f0e64736f6c63430008130033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000acf8103f774c964515158c835fabb904bccad2db
-----Decoded View---------------
Arg [0] : darkwukongWallet (address): 0xAcf8103f774C964515158c835fAbb904bCcAD2Db
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000acf8103f774c964515158c835fabb904bccad2db
Deployed Bytecode Sourcemap
4955:9785:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10859:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5930:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7410:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12416:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5465:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11037:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14023:350;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5394:68;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11727:89;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2287:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7229:177;;;;;;;;;;;;;:::i;:::-;;8190:82;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5272:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5887:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10419:436;;;;;;;;;;;;;:::i;:::-;;5757:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12762:87;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5333:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11820:91;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5853:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6809:107;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2382:111;;;;;;;;;;;;;:::i;:::-;;12587:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6725:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11637:86;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5792:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14375:158;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10275:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5816:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7606:178;;;;;;;;;;;;;:::i;:::-;;8791:119;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10859:82;10907:13;10932:5;;;;;;;;;;;;;;;;;10925:12;;10859:82;:::o;5930:31::-;;;;;;;;;;;;;:::o;7410:192::-;7488:4;7533:6;7498:11;:23;7510:10;7498:23;;;;;;;;;;;;;;;:32;7522:7;7498:32;;;;;;;;;;;;;;;:41;;;;7568:7;7547:37;;7556:10;7547:37;;;7577:6;7547:37;;;;;;:::i;:::-;;;;;;;;7594:4;7587:11;;7410:192;;;;:::o;12416:167::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12496:6:::1;12491:89;12512:12;:19;12508:1;:23;12491:89;;;12572:4;12541:11;:28;12553:12;12566:1;12553:15;;;;;;;;:::i;:::-;;;;;;;;12541:28;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;12533:3;;;;;:::i;:::-;;;;12491:89;;;;12416:167:::0;:::o;5465:54::-;;;;:::o;11037:90::-;11092:7;11111:12;;11104:19;;11037:90;:::o;14023:350::-;14129:4;14177:17;14142:11;:19;14154:6;14142:19;;;;;;;;;;;;;;;:31;14162:10;14142:31;;;;;;;;;;;;;;;;:52;14138:170;;14233:71;14271:6;14233:71;;;;;;;;;;;;;;;;;:11;:19;14245:6;14233:19;;;;;;;;;;;;;;;:31;14253:10;14233:31;;;;;;;;;;;;;;;;:37;;:71;;;;;:::i;:::-;14199:11;:19;14211:6;14199:19;;;;;;;;;;;;;;;:31;14219:10;14199:31;;;;;;;;;;;;;;;:105;;;;14138:170;14319:50;14343:6;14351:9;14362:6;14319:23;:50::i;:::-;14312:57;;14023:350;;;;;:::o;5394:68::-;;;;:::o;11727:89::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11805:7:::1;11792:12;:20;;;;11727:89:::0;:::o;2287:91::-;2342:4;2369:5;;;;;;;;;;;2358:16;;:7;:16;;;2351:23;;2287:91;;;:::o;7229:177::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7320:1:::1;7296:21;:25;7288:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;7359:10;7351:28;;:51;7380:21;7351:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7229:177::o:0;8190:82::-;8242:5;5267:2;8252:16;;8190:82;:::o;5272:58::-;;;;:::o;5887:40::-;;;;;;;;;;;;;:::o;10419:436::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;10502:42:::1;10474:6;;:71;;;;;;;;;;;;;;;;;;10573:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10555:46;;;10610:4;10617:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10555:76;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10548:4;;:83;;;;;;;;;;;;;;;;;;10658:4;10634:15;:21;10650:4;;;;;;;;;;;10634:21;;;;;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;10713:17;10667:11;:26;10687:4;10667:26;;;;;;;;;;;;;;;:43;10702:6;;;;;;;;;;;10667:43;;;;;;;;;;;;;;;:63;;;;10733:6;;;;;;;;;;;:22;;;10763:21;10794:4;10800:24;10818:4;10800:9;:24::i;:::-;10825:1;10827::::0;10829:5:::1;::::0;::::1;;;;;;;;10835:15;10733:118;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;10419:436::o:0;5757:32::-;;;;;;;;;;;;;:::o;12762:87::-;12816:4;12831:11;:14;12843:1;12831:14;;;;;;;;;;;;;;;;;;;;;;;;;12824:21;;12762:87;;;:::o;5333:58::-;;;;:::o;11820:91::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;11900:7:::1;11886:13;:21;;;;11820:91:::0;:::o;5853:31::-;;;;;;;;;;;;;:::o;6809:107::-;6875:7;6894:9;:18;6904:7;6894:18;;;;;;;;;;;;;;;;6887:25;;6809:107;;;:::o;2382:111::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;2447:1:::1;2431:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;2457:32;2486:1;2457:32;;;;;;:::i;:::-;;;;;;;;2382:111::o:0;12587:171::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;12668:6:::1;12663:92;12684:13;:20;12680:1;:24;12663:92;;;12746:5;12714:11;:29;12726:13;12740:1;12726:16;;;;;;;;:::i;:::-;;;;;;;;12714:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;12706:3;;;;;:::i;:::-;;;;12663:92;;;;12587:171:::0;:::o;6725:80::-;6777:7;6796:5;;;;;;;;;;;6789:12;;6725:80;:::o;11637:86::-;11687:13;11712:7;;;;;;;;;;;;;;;;;11705:14;;11637:86;:::o;5792:19::-;;;;;;;;;;;;;:::o;14375:158::-;14458:4;14475:54;14499:10;14511:9;14522:6;14475:23;:54::i;:::-;14468:61;;14375:158;;;;:::o;10275:140::-;10363:7;10383:11;:19;10395:6;10383:19;;;;;;;;;;;;;;;:28;10403:7;10383:28;;;;;;;;;;;;;;;;10376:35;;10275:140;;;;:::o;5816:32::-;;;;;;;;;;;;;:::o;7606:178::-;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;7668:11:::1;;;;;;;;;;;7667:12;7659:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;7725:4;7711:11;;:18;;;;;;;;;;;;;;;;;;7755:4;7732:20;;:27;;;;;;;;;;;;;;;;;;7776:4;7762:11;;:18;;;;;;;;;;;;;;;;;;7606:178::o:0;8791:119::-;8852:4;2245:19;2253:10;2245:7;:19::i;:::-;2237:38;;;;;;;;;;;;:::i;:::-;;;;;;;;;8880:12:::1;;8861:16;:31;;;;8902:4;8895:11;;8791:119:::0;:::o;538:168::-;630:7;655:1;650;:6;;658:12;642:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;674:9;690:1;686;:5;;;;:::i;:::-;674:17;;701:1;694:8;;;538:168;;;;;:::o;12853:1165::-;12961:4;12998:1;12980:20;;:6;:20;;;12972:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13074:1;13053:23;;:9;:23;;;13045:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13136:1;13127:6;:10;13119:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;13188:12;13203;13229:11;:19;13241:6;13229:19;;;;;;;;;;;;;;;;;;;;;;;;;13228:20;:47;;;;;13253:11;:22;13265:9;13253:22;;;;;;;;;;;;;;;;;;;;;;;;;13252:23;13228:47;13220:56;;;;;;13285:6;;;;;;;;;;;13281:67;;;13303:41;13318:6;13326:9;13337:6;13303:14;:41::i;:::-;13296:48;;;;;;13281:67;13356:11;:19;13368:6;13356:19;;;;;;;;;;;;;;;;;;;;;;;;;13355:20;:47;;;;;13380:11;:22;13392:9;13380:22;;;;;;;;;;;;;;;;;;;;;;;;;13379:23;13355:47;13352:101;;;13414:11;;;;;;;;;;;13406:43;;;;;;;;;;;;:::i;:::-;;;;;;;;;13352:101;13461:11;;;;;;;;;;;13457:72;;13484:41;13499:6;13507:9;13518:6;13484:14;:41::i;:::-;13477:48;;;;;;13457:72;13535:38;13555:6;13563:9;13535:19;:38::i;:::-;13531:215;;;13588:15;:26;13604:9;13588:26;;;;;;;;;;;;;;;;;;;;;;;;;:80;;;;13652:16;;13642:6;13619:9;:20;13629:9;13619:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;13588:80;13578:135;;;;;;;;;;;;:::i;:::-;;;;;;;;;13718:24;13735:6;13718:16;:24::i;:::-;13531:215;13771:42;13795:6;13803:9;13771:23;:42::i;:::-;13750:63;;;;;;;;13822:75;13845:7;13854;13863:6;13871:25;;13822:22;:75::i;:::-;13818:115;;;13902:27;13922:6;13902:19;:27::i;:::-;13818:115;13937:63;13956:6;13964:9;13975:6;13983:7;13992;13937:18;:63::i;:::-;;14010:4;14003:11;;;;12853:1165;;;;;;:::o;6920:305::-;7019:4;7048:58;7072:6;7048:58;;;;;;;;;;;;;;;;;:9;:17;7058:6;7048:17;;;;;;;;;;;;;;;;:21;;:58;;;;;:::i;:::-;7028:9;:17;7038:6;7028:17;;;;;;;;;;;;;;;:78;;;;7132:32;7157:6;7132:9;:20;7142:9;7132:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;7109:9;:20;7119:9;7109:20;;;;;;;;;;;;;;;:55;;;;7189:9;7172:35;;7181:6;7172:35;;;7200:6;7172:35;;;;;;:::i;:::-;;;;;;;;7217:4;7210:11;;6920:305;;;;;:::o;11915:200::-;12002:4;12032;;;;;;;;;;;12019:17;;:9;:17;;;;:39;;;;;12054:4;;;;;;;;;;;12041:17;;:9;:17;;;;12019:39;:64;;;;;12064:11;:19;12076:6;12064:19;;;;;;;;;;;;;;;;;;;;;;;;;12063:20;12019:64;:92;;;;;12089:11;:22;12101:9;12089:22;;;;;;;;;;;;;;;;;;;;;;;;;12088:23;12019:92;12011:100;;11915:200;;;;:::o;14537:95::-;14604:4;;;;;;;;;;;14594:14;;:6;:14;;;14591:38;;14613:10;;:12;;;;;;;;;:::i;:::-;;;;;;14591:38;14537:95;:::o;12117:295::-;12199:4;12205;12216:13;12236:15;12254:16;12265:4;12254:10;:16::i;:::-;12236:34;;12284:4;;;;;;;;;;;12278:10;;:2;:10;;;12275:102;;12304:1;12293:12;;12275:102;;;12327:4;;;;;;;;;;;12319:12;;:4;:12;;;12315:62;;12347:1;12336:12;;12315:62;;;12372:1;12361:12;;12315:62;12275:102;12387:10;12399:8;12379:29;;;;;;12117:295;;;;;:::o;11131:502::-;11260:4;11271:27;11301:6;11271:36;;11310:29;11342:7;11310:39;;11352:36;11391:24;11409:4;11391:9;:24::i;:::-;11352:63;;11420:16;11470:19;11439:28;:50;:97;;;;;11517:19;11493:21;:43;11439:97;11420:116;;11550:6;;;;;;;;;;;11549:7;:25;;;;;11561:13;11549:25;:48;;;;;11596:1;11580:13;:17;11549:48;:64;;;;;11602:11;11549:64;:80;;;;;11618:11;;;;;;;;;;;11549:80;11541:88;;;;;;11131:502;;;;;;:::o;8276:511::-;6249:4;6240:6;;:13;;;;;;;;;;;;;;;;;;8344:20:::1;8367:24;8385:4;8367:9;:24::i;:::-;8344:47;;8394:20;8417:43;8421:6;8429:30;8433:12;8447:11;;8429:3;:30::i;:::-;8417:3;:43::i;:::-;8394:66;;8465:21;8503:1;8489:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8465:40;;8526:4;8508;8513:1;8508:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8544:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8534:4;8539:1;8534:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;8562:6;;;;;;;;;;;:57;;;8622:12;8637:1;8641:4;8656;8664:15;8562:120;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;8687:20;8710:21;8687:44;;8742:17;;;;;;;;;;;8734:35;;:49;8770:12;8734:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8341:446;;;;6269:5:::0;6260:6;;:14;;;;;;;;;;;;;;;;;;8276:511;:::o;9782:489::-;9914:4;9925:20;9949:23;10011:45;10032:6;10040:7;10049:6;10011:20;:45::i;:::-;9977:79;;;;;;;;10079:64;10103:12;10079:64;;;;;;;;;;;;;;;;;:9;:17;10089:6;10079:17;;;;;;;;;;;;;;;;:21;;:64;;;;;:::i;:::-;10059:9;:17;10069:6;10059:17;;;;;;;;;;;;;;;:84;;;;10169:41;10194:15;10169:9;:20;10179:9;10169:20;;;;;;;;;;;;;;;;:24;;:41;;;;:::i;:::-;10146:9;:20;10156:9;10146:20;;;;;;;;;;;;;;;:64;;;;10235:9;10218:35;;10227:6;10218:35;;;10246:6;10218:35;;;;;;:::i;:::-;;;;;;;;10263:4;10256:11;;;;9782:489;;;;;;;:::o;255:151::-;313:7;325:9;341:1;337;:5;;;;:::i;:::-;325:17;;358:1;353;:6;;345:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;401:1;394:8;;;255:151;;;;:::o;14636:99::-;14695:4;14712:11;:19;14724:6;14712:19;;;;;;;;;;;;;;;;;;;;;;;;;14711:20;14704:27;;14636:99;;;:::o;10945:88::-;11002:7;11023:1;11021;:3;11020:9;;11028:1;11020:9;;;11026:1;11020:9;11013:16;;10945:88;;;;:::o;7788:398::-;7879:7;7888;7900:15;7918:7;:112;;7939:20;;;;;;;;;;;:91;;8023:7;7939:91;;;7963:55;7993:6;8001:7;8010;7963:29;:55::i;:::-;7939:91;7918:112;;;7929:7;7918:112;7900:130;;8035:15;8053:20;;;;;;;;;;;:31;;;;;8077:7;8053:31;:101;;8147:7;8053:101;;;8088:55;8118:6;8126:7;8135;8088:29;:55::i;:::-;8053:101;8035:119;;8165:7;8174;8157:25;;;;;;7788:398;;;;;;:::o;8914:827::-;9038:7;9051:26;9080:34;9117:3;9080:40;;9128:17;9125:339;;;9175:1;9155:17;:21;9152:272;;;9214:16;;9203:10;;:27;:58;;9249:12;;9203:58;;;9233:13;;9203:58;9181:81;;9152:272;;;9298:1;9278:17;:21;9275:146;;;9337:15;;9326:10;;:26;:55;;9370:11;;9326:55;;;9355:12;;9326:55;9304:78;;9275:146;;;9416:1;9395:22;;9275:146;9152:272;9125:339;;;9459:1;9438:22;;9125:339;9468:18;9489:63;9525:26;9489:31;9501:18;9489:7;:11;;:31;;;;:::i;:::-;:35;;:63;;;;:::i;:::-;9468:84;;9582:40;9611:10;9582:9;:24;9600:4;9582:24;;;;;;;;;;;;;;;;:28;;:40;;;;:::i;:::-;9555:9;:24;9573:4;9555:24;;;;;;;;;;;;;;;:67;;;;9638:17;:64;;9671:31;9683:18;9671:7;:11;;:31;;;;:::i;:::-;9638:64;;;9658:10;9638:64;9625:77;;9714:23;9726:10;9714:7;:11;;:23;;;;:::i;:::-;9707:30;;;;;8914:827;;;;;:::o;710:190::-;768:7;789:1;784;:6;780:27;;802:1;795:8;;;;780:27;809:9;825:1;821;:5;;;;:::i;:::-;809:17;;846:1;841;837;:5;;;;:::i;:::-;:10;829:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;895:1;888:8;;;710:190;;;;;:::o;904:120::-;962:7;981:39;985:1;988;981:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;974:46;;904:120;;;;:::o;410:124::-;468:7;487:43;491:1;494;487:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;480:50;;410:124;;;;:::o;1028:167::-;1120:7;1144:1;1140;:5;1147:12;1132:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1163:9;1179:1;1175;:5;;;;:::i;:::-;1163:17;;1190:1;1183:8;;;1028:167;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:90::-;1383:7;1426:5;1419:13;1412:21;1401:32;;1349:90;;;:::o;1445:109::-;1526:21;1541:5;1526:21;:::i;:::-;1521:3;1514:34;1445:109;;:::o;1560:210::-;1647:4;1685:2;1674:9;1670:18;1662:26;;1698:65;1760:1;1749:9;1745:17;1736:6;1698:65;:::i;:::-;1560:210;;;;:::o;1776:75::-;1809:6;1842:2;1836:9;1826:19;;1776:75;:::o;1857:117::-;1966:1;1963;1956:12;1980:117;2089:1;2086;2079:12;2103:126;2140:7;2180:42;2173:5;2169:54;2158:65;;2103:126;;;:::o;2235:96::-;2272:7;2301:24;2319:5;2301:24;:::i;:::-;2290:35;;2235:96;;;:::o;2337:122::-;2410:24;2428:5;2410:24;:::i;:::-;2403:5;2400:35;2390:63;;2449:1;2446;2439:12;2390:63;2337:122;:::o;2465:139::-;2511:5;2549:6;2536:20;2527:29;;2565:33;2592:5;2565:33;:::i;:::-;2465:139;;;;:::o;2610:77::-;2647:7;2676:5;2665:16;;2610:77;;;:::o;2693:122::-;2766:24;2784:5;2766:24;:::i;:::-;2759:5;2756:35;2746:63;;2805:1;2802;2795:12;2746:63;2693:122;:::o;2821:139::-;2867:5;2905:6;2892:20;2883:29;;2921:33;2948:5;2921:33;:::i;:::-;2821:139;;;;:::o;2966:474::-;3034:6;3042;3091:2;3079:9;3070:7;3066:23;3062:32;3059:119;;;3097:79;;:::i;:::-;3059:119;3217:1;3242:53;3287:7;3278:6;3267:9;3263:22;3242:53;:::i;:::-;3232:63;;3188:117;3344:2;3370:53;3415:7;3406:6;3395:9;3391:22;3370:53;:::i;:::-;3360:63;;3315:118;2966:474;;;;;:::o;3446:117::-;3555:1;3552;3545:12;3569:180;3617:77;3614:1;3607:88;3714:4;3711:1;3704:15;3738:4;3735:1;3728:15;3755:281;3838:27;3860:4;3838:27;:::i;:::-;3830:6;3826:40;3968:6;3956:10;3953:22;3932:18;3920:10;3917:34;3914:62;3911:88;;;3979:18;;:::i;:::-;3911:88;4019:10;4015:2;4008:22;3798:238;3755:281;;:::o;4042:129::-;4076:6;4103:20;;:::i;:::-;4093:30;;4132:33;4160:4;4152:6;4132:33;:::i;:::-;4042:129;;;:::o;4177:311::-;4254:4;4344:18;4336:6;4333:30;4330:56;;;4366:18;;:::i;:::-;4330:56;4416:4;4408:6;4404:17;4396:25;;4476:4;4470;4466:15;4458:23;;4177:311;;;:::o;4494:117::-;4603:1;4600;4593:12;4634:710;4730:5;4755:81;4771:64;4828:6;4771:64;:::i;:::-;4755:81;:::i;:::-;4746:90;;4856:5;4885:6;4878:5;4871:21;4919:4;4912:5;4908:16;4901:23;;4972:4;4964:6;4960:17;4952:6;4948:30;5001:3;4993:6;4990:15;4987:122;;;5020:79;;:::i;:::-;4987:122;5135:6;5118:220;5152:6;5147:3;5144:15;5118:220;;;5227:3;5256:37;5289:3;5277:10;5256:37;:::i;:::-;5251:3;5244:50;5323:4;5318:3;5314:14;5307:21;;5194:144;5178:4;5173:3;5169:14;5162:21;;5118:220;;;5122:21;4736:608;;4634:710;;;;;:::o;5367:370::-;5438:5;5487:3;5480:4;5472:6;5468:17;5464:27;5454:122;;5495:79;;:::i;:::-;5454:122;5612:6;5599:20;5637:94;5727:3;5719:6;5712:4;5704:6;5700:17;5637:94;:::i;:::-;5628:103;;5444:293;5367:370;;;;:::o;5743:539::-;5827:6;5876:2;5864:9;5855:7;5851:23;5847:32;5844:119;;;5882:79;;:::i;:::-;5844:119;6030:1;6019:9;6015:17;6002:31;6060:18;6052:6;6049:30;6046:117;;;6082:79;;:::i;:::-;6046:117;6187:78;6257:7;6248:6;6237:9;6233:22;6187:78;:::i;:::-;6177:88;;5973:302;5743:539;;;;:::o;6288:118::-;6375:24;6393:5;6375:24;:::i;:::-;6370:3;6363:37;6288:118;;:::o;6412:222::-;6505:4;6543:2;6532:9;6528:18;6520:26;;6556:71;6624:1;6613:9;6609:17;6600:6;6556:71;:::i;:::-;6412:222;;;;:::o;6640:619::-;6717:6;6725;6733;6782:2;6770:9;6761:7;6757:23;6753:32;6750:119;;;6788:79;;:::i;:::-;6750:119;6908:1;6933:53;6978:7;6969:6;6958:9;6954:22;6933:53;:::i;:::-;6923:63;;6879:117;7035:2;7061:53;7106:7;7097:6;7086:9;7082:22;7061:53;:::i;:::-;7051:63;;7006:118;7163:2;7189:53;7234:7;7225:6;7214:9;7210:22;7189:53;:::i;:::-;7179:63;;7134:118;6640:619;;;;;:::o;7265:329::-;7324:6;7373:2;7361:9;7352:7;7348:23;7344:32;7341:119;;;7379:79;;:::i;:::-;7341:119;7499:1;7524:53;7569:7;7560:6;7549:9;7545:22;7524:53;:::i;:::-;7514:63;;7470:117;7265:329;;;;:::o;7600:::-;7659:6;7708:2;7696:9;7687:7;7683:23;7679:32;7676:119;;;7714:79;;:::i;:::-;7676:119;7834:1;7859:53;7904:7;7895:6;7884:9;7880:22;7859:53;:::i;:::-;7849:63;;7805:117;7600:329;;;;:::o;7935:86::-;7970:7;8010:4;8003:5;7999:16;7988:27;;7935:86;;;:::o;8027:112::-;8110:22;8126:5;8110:22;:::i;:::-;8105:3;8098:35;8027:112;;:::o;8145:214::-;8234:4;8272:2;8261:9;8257:18;8249:26;;8285:67;8349:1;8338:9;8334:17;8325:6;8285:67;:::i;:::-;8145:214;;;;:::o;8365:118::-;8452:24;8470:5;8452:24;:::i;:::-;8447:3;8440:37;8365:118;;:::o;8489:222::-;8582:4;8620:2;8609:9;8605:18;8597:26;;8633:71;8701:1;8690:9;8686:17;8677:6;8633:71;:::i;:::-;8489:222;;;;:::o;8717:474::-;8785:6;8793;8842:2;8830:9;8821:7;8817:23;8813:32;8810:119;;;8848:79;;:::i;:::-;8810:119;8968:1;8993:53;9038:7;9029:6;9018:9;9014:22;8993:53;:::i;:::-;8983:63;;8939:117;9095:2;9121:53;9166:7;9157:6;9146:9;9142:22;9121:53;:::i;:::-;9111:63;;9066:118;8717:474;;;;;:::o;9197:60::-;9225:3;9246:5;9239:12;;9197:60;;;:::o;9263:142::-;9313:9;9346:53;9364:34;9373:24;9391:5;9373:24;:::i;:::-;9364:34;:::i;:::-;9346:53;:::i;:::-;9333:66;;9263:142;;;:::o;9411:126::-;9461:9;9494:37;9525:5;9494:37;:::i;:::-;9481:50;;9411:126;;;:::o;9543:152::-;9619:9;9652:37;9683:5;9652:37;:::i;:::-;9639:50;;9543:152;;;:::o;9701:183::-;9814:63;9871:5;9814:63;:::i;:::-;9809:3;9802:76;9701:183;;:::o;9890:274::-;10009:4;10047:2;10036:9;10032:18;10024:26;;10060:97;10154:1;10143:9;10139:17;10130:6;10060:97;:::i;:::-;9890:274;;;;:::o;10170:156::-;10310:8;10306:1;10298:6;10294:14;10287:32;10170:156;:::o;10332:365::-;10474:3;10495:66;10559:1;10554:3;10495:66;:::i;:::-;10488:73;;10570:93;10659:3;10570:93;:::i;:::-;10688:2;10683:3;10679:12;10672:19;;10332:365;;;:::o;10703:419::-;10869:4;10907:2;10896:9;10892:18;10884:26;;10956:9;10950:4;10946:20;10942:1;10931:9;10927:17;10920:47;10984:131;11110:4;10984:131;:::i;:::-;10976:139;;10703:419;;;:::o;11128:180::-;11176:77;11173:1;11166:88;11273:4;11270:1;11263:15;11297:4;11294:1;11287:15;11314:180;11362:77;11359:1;11352:88;11459:4;11456:1;11449:15;11483:4;11480:1;11473:15;11500:233;11539:3;11562:24;11580:5;11562:24;:::i;:::-;11553:33;;11608:66;11601:5;11598:77;11595:103;;11678:18;;:::i;:::-;11595:103;11725:1;11718:5;11714:13;11707:20;;11500:233;;;:::o;11739:172::-;11879:24;11875:1;11867:6;11863:14;11856:48;11739:172;:::o;11917:366::-;12059:3;12080:67;12144:2;12139:3;12080:67;:::i;:::-;12073:74;;12156:93;12245:3;12156:93;:::i;:::-;12274:2;12269:3;12265:12;12258:19;;11917:366;;;:::o;12289:419::-;12455:4;12493:2;12482:9;12478:18;12470:26;;12542:9;12536:4;12532:20;12528:1;12517:9;12513:17;12506:47;12570:131;12696:4;12570:131;:::i;:::-;12562:139;;12289:419;;;:::o;12714:143::-;12771:5;12802:6;12796:13;12787:22;;12818:33;12845:5;12818:33;:::i;:::-;12714:143;;;;:::o;12863:351::-;12933:6;12982:2;12970:9;12961:7;12957:23;12953:32;12950:119;;;12988:79;;:::i;:::-;12950:119;13108:1;13133:64;13189:7;13180:6;13169:9;13165:22;13133:64;:::i;:::-;13123:74;;13079:128;12863:351;;;;:::o;13220:332::-;13341:4;13379:2;13368:9;13364:18;13356:26;;13392:71;13460:1;13449:9;13445:17;13436:6;13392:71;:::i;:::-;13473:72;13541:2;13530:9;13526:18;13517:6;13473:72;:::i;:::-;13220:332;;;;;:::o;13558:85::-;13603:7;13632:5;13621:16;;13558:85;;;:::o;13649:158::-;13707:9;13740:61;13758:42;13767:32;13793:5;13767:32;:::i;:::-;13758:42;:::i;:::-;13740:61;:::i;:::-;13727:74;;13649:158;;;:::o;13813:147::-;13908:45;13947:5;13908:45;:::i;:::-;13903:3;13896:58;13813:147;;:::o;13966:807::-;14215:4;14253:3;14242:9;14238:19;14230:27;;14267:71;14335:1;14324:9;14320:17;14311:6;14267:71;:::i;:::-;14348:72;14416:2;14405:9;14401:18;14392:6;14348:72;:::i;:::-;14430:80;14506:2;14495:9;14491:18;14482:6;14430:80;:::i;:::-;14520;14596:2;14585:9;14581:18;14572:6;14520:80;:::i;:::-;14610:73;14678:3;14667:9;14663:19;14654:6;14610:73;:::i;:::-;14693;14761:3;14750:9;14746:19;14737:6;14693:73;:::i;:::-;13966:807;;;;;;;;;:::o;14779:143::-;14836:5;14867:6;14861:13;14852:22;;14883:33;14910:5;14883:33;:::i;:::-;14779:143;;;;:::o;14928:663::-;15016:6;15024;15032;15081:2;15069:9;15060:7;15056:23;15052:32;15049:119;;;15087:79;;:::i;:::-;15049:119;15207:1;15232:64;15288:7;15279:6;15268:9;15264:22;15232:64;:::i;:::-;15222:74;;15178:128;15345:2;15371:64;15427:7;15418:6;15407:9;15403:22;15371:64;:::i;:::-;15361:74;;15316:129;15484:2;15510:64;15566:7;15557:6;15546:9;15542:22;15510:64;:::i;:::-;15500:74;;15455:129;14928:663;;;;;:::o;15597:173::-;15737:25;15733:1;15725:6;15721:14;15714:49;15597:173;:::o;15776:366::-;15918:3;15939:67;16003:2;15998:3;15939:67;:::i;:::-;15932:74;;16015:93;16104:3;16015:93;:::i;:::-;16133:2;16128:3;16124:12;16117:19;;15776:366;;;:::o;16148:419::-;16314:4;16352:2;16341:9;16337:18;16329:26;;16401:9;16395:4;16391:20;16387:1;16376:9;16372:17;16365:47;16429:131;16555:4;16429:131;:::i;:::-;16421:139;;16148:419;;;:::o;16573:194::-;16613:4;16633:20;16651:1;16633:20;:::i;:::-;16628:25;;16667:20;16685:1;16667:20;:::i;:::-;16662:25;;16711:1;16708;16704:9;16696:17;;16735:1;16729:4;16726:11;16723:37;;;16740:18;;:::i;:::-;16723:37;16573:194;;;;:::o;16773:224::-;16913:34;16909:1;16901:6;16897:14;16890:58;16982:7;16977:2;16969:6;16965:15;16958:32;16773:224;:::o;17003:366::-;17145:3;17166:67;17230:2;17225:3;17166:67;:::i;:::-;17159:74;;17242:93;17331:3;17242:93;:::i;:::-;17360:2;17355:3;17351:12;17344:19;;17003:366;;;:::o;17375:419::-;17541:4;17579:2;17568:9;17564:18;17556:26;;17628:9;17622:4;17618:20;17614:1;17603:9;17599:17;17592:47;17656:131;17782:4;17656:131;:::i;:::-;17648:139;;17375:419;;;:::o;17800:222::-;17940:34;17936:1;17928:6;17924:14;17917:58;18009:5;18004:2;17996:6;17992:15;17985:30;17800:222;:::o;18028:366::-;18170:3;18191:67;18255:2;18250:3;18191:67;:::i;:::-;18184:74;;18267:93;18356:3;18267:93;:::i;:::-;18385:2;18380:3;18376:12;18369:19;;18028:366;;;:::o;18400:419::-;18566:4;18604:2;18593:9;18589:18;18581:26;;18653:9;18647:4;18643:20;18639:1;18628:9;18624:17;18617:47;18681:131;18807:4;18681:131;:::i;:::-;18673:139;;18400:419;;;:::o;18825:228::-;18965:34;18961:1;18953:6;18949:14;18942:58;19034:11;19029:2;19021:6;19017:15;19010:36;18825:228;:::o;19059:366::-;19201:3;19222:67;19286:2;19281:3;19222:67;:::i;:::-;19215:74;;19298:93;19387:3;19298:93;:::i;:::-;19416:2;19411:3;19407:12;19400:19;;19059:366;;;:::o;19431:419::-;19597:4;19635:2;19624:9;19620:18;19612:26;;19684:9;19678:4;19674:20;19670:1;19659:9;19655:17;19648:47;19712:131;19838:4;19712:131;:::i;:::-;19704:139;;19431:419;;;:::o;19856:170::-;19996:22;19992:1;19984:6;19980:14;19973:46;19856:170;:::o;20032:366::-;20174:3;20195:67;20259:2;20254:3;20195:67;:::i;:::-;20188:74;;20271:93;20360:3;20271:93;:::i;:::-;20389:2;20384:3;20380:12;20373:19;;20032:366;;;:::o;20404:419::-;20570:4;20608:2;20597:9;20593:18;20585:26;;20657:9;20651:4;20647:20;20643:1;20632:9;20628:17;20621:47;20685:131;20811:4;20685:131;:::i;:::-;20677:139;;20404:419;;;:::o;20829:191::-;20869:3;20888:20;20906:1;20888:20;:::i;:::-;20883:25;;20922:20;20940:1;20922:20;:::i;:::-;20917:25;;20965:1;20962;20958:9;20951:16;;20986:3;20983:1;20980:10;20977:36;;;20993:18;;:::i;:::-;20977:36;20829:191;;;;:::o;21026:224::-;21166:34;21162:1;21154:6;21150:14;21143:58;21235:7;21230:2;21222:6;21218:15;21211:32;21026:224;:::o;21256:366::-;21398:3;21419:67;21483:2;21478:3;21419:67;:::i;:::-;21412:74;;21495:93;21584:3;21495:93;:::i;:::-;21613:2;21608:3;21604:12;21597:19;;21256:366;;;:::o;21628:419::-;21794:4;21832:2;21821:9;21817:18;21809:26;;21881:9;21875:4;21871:20;21867:1;21856:9;21852:17;21845:47;21909:131;22035:4;21909:131;:::i;:::-;21901:139;;21628:419;;;:::o;22053:114::-;22120:6;22154:5;22148:12;22138:22;;22053:114;;;:::o;22173:184::-;22272:11;22306:6;22301:3;22294:19;22346:4;22341:3;22337:14;22322:29;;22173:184;;;;:::o;22363:132::-;22430:4;22453:3;22445:11;;22483:4;22478:3;22474:14;22466:22;;22363:132;;;:::o;22501:108::-;22578:24;22596:5;22578:24;:::i;:::-;22573:3;22566:37;22501:108;;:::o;22615:179::-;22684:10;22705:46;22747:3;22739:6;22705:46;:::i;:::-;22783:4;22778:3;22774:14;22760:28;;22615:179;;;;:::o;22800:113::-;22870:4;22902;22897:3;22893:14;22885:22;;22800:113;;;:::o;22949:732::-;23068:3;23097:54;23145:5;23097:54;:::i;:::-;23167:86;23246:6;23241:3;23167:86;:::i;:::-;23160:93;;23277:56;23327:5;23277:56;:::i;:::-;23356:7;23387:1;23372:284;23397:6;23394:1;23391:13;23372:284;;;23473:6;23467:13;23500:63;23559:3;23544:13;23500:63;:::i;:::-;23493:70;;23586:60;23639:6;23586:60;:::i;:::-;23576:70;;23432:224;23419:1;23416;23412:9;23407:14;;23372:284;;;23376:14;23672:3;23665:10;;23073:608;;;22949:732;;;;:::o;23687:831::-;23950:4;23988:3;23977:9;23973:19;23965:27;;24002:71;24070:1;24059:9;24055:17;24046:6;24002:71;:::i;:::-;24083:80;24159:2;24148:9;24144:18;24135:6;24083:80;:::i;:::-;24210:9;24204:4;24200:20;24195:2;24184:9;24180:18;24173:48;24238:108;24341:4;24332:6;24238:108;:::i;:::-;24230:116;;24356:72;24424:2;24413:9;24409:18;24400:6;24356:72;:::i;:::-;24438:73;24506:3;24495:9;24491:19;24482:6;24438:73;:::i;:::-;23687:831;;;;;;;;:::o;24524:177::-;24664:29;24660:1;24652:6;24648:14;24641:53;24524:177;:::o;24707:366::-;24849:3;24870:67;24934:2;24929:3;24870:67;:::i;:::-;24863:74;;24946:93;25035:3;24946:93;:::i;:::-;25064:2;25059:3;25055:12;25048:19;;24707:366;;;:::o;25079:419::-;25245:4;25283:2;25272:9;25268:18;25260:26;;25332:9;25326:4;25322:20;25318:1;25307:9;25303:17;25296:47;25360:131;25486:4;25360:131;:::i;:::-;25352:139;;25079:419;;;:::o;25504:410::-;25544:7;25567:20;25585:1;25567:20;:::i;:::-;25562:25;;25601:20;25619:1;25601:20;:::i;:::-;25596:25;;25656:1;25653;25649:9;25678:30;25696:11;25678:30;:::i;:::-;25667:41;;25857:1;25848:7;25844:15;25841:1;25838:22;25818:1;25811:9;25791:83;25768:139;;25887:18;;:::i;:::-;25768:139;25552:362;25504:410;;;;:::o;25920:180::-;25968:77;25965:1;25958:88;26065:4;26062:1;26055:15;26089:4;26086:1;26079:15;26106:185;26146:1;26163:20;26181:1;26163:20;:::i;:::-;26158:25;;26197:20;26215:1;26197:20;:::i;:::-;26192:25;;26236:1;26226:35;;26241:18;;:::i;:::-;26226:35;26283:1;26280;26276:9;26271:14;;26106:185;;;;:::o;26297:220::-;26437:34;26433:1;26425:6;26421:14;26414:58;26506:3;26501:2;26493:6;26489:15;26482:28;26297:220;:::o;26523:366::-;26665:3;26686:67;26750:2;26745:3;26686:67;:::i;:::-;26679:74;;26762:93;26851:3;26762:93;:::i;:::-;26880:2;26875:3;26871:12;26864:19;;26523:366;;;:::o;26895:419::-;27061:4;27099:2;27088:9;27084:18;27076:26;;27148:9;27142:4;27138:20;27134:1;27123:9;27119:17;27112:47;27176:131;27302:4;27176:131;:::i;:::-;27168:139;;26895:419;;;:::o
Swarm Source
ipfs://885b9e0ff3519bd31eb32c9a5f708f873c9a87a9ae9482007fe1ad13e9cf3f0e
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.