[ { "inputs": [], "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": "uint256", "name": "buyTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "buyProjectTax", "type": "uint256" } ], "name": "BuyFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "DisabledTransferDelay", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromFees", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "ExcludeFromLimits", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "LimitsRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "MarketingWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTx", "type": "uint256" } ], "name": "MaxTxUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "MaxWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "sellTaxTotal", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellMarketingTax", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "sellProjectTax", "type": "uint256" } ], "name": "SellFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetPairLPool", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMin", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "swapBackValueMax", "type": "uint256" } ], "name": "SwapbackSettingsUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "TradingEnabled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAddress", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldAddress", "type": "address" } ], "name": "UpdateUniswapV2Router", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "name": "addressView", "outputs": [ { "internalType": "bool", "name": "_transferTaxExempt", "type": "bool" }, { "internalType": "bool", "name": "_transferLimitExempt", "type": "bool" }, { "internalType": "bool", "name": "_automatedMarketMakerPairs", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_anti", "type": "bool" } ], "name": "changeAntinuke", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "changeBuyFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketing", "type": "address" } ], "name": "changeMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxTx", "type": "uint256" } ], "name": "changeMaxTx", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" } ], "name": "changeMaxWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "changeSellFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_caSBcEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_caSBcTrigger", "type": "uint256" }, { "internalType": "uint256", "name": "_caSBcLimit", "type": "uint256" } ], "name": "changeSwapbackRange", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "changeTransferFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_add", "type": "address" }, { "internalType": "bool", "name": "_excluded", "type": "bool" } ], "name": "exemptFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_add", "type": "address" }, { "internalType": "bool", "name": "_excluded", "type": "bool" } ], "name": "exemptFromLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "limitsView", "outputs": [ { "internalType": "bool", "name": "_limitsEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_maxWallet", "type": "uint256" }, { "internalType": "uint256", "name": "_maxTx", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "percent", "type": "uint256" } ], "name": "manualSwap", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "marketingWalletView", "outputs": [ { "internalType": "address", "name": "_marketingWallet", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "openTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimitsNow", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapbackView", "outputs": [ { "internalType": "bool", "name": "_swapbackEnabled", "type": "bool" }, { "internalType": "uint256", "name": "_caSBcackValueMin", "type": "uint256" }, { "internalType": "uint256", "name": "_caSBcackValueMax", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "taxesView", "outputs": [ { "internalType": "uint256", "name": "_buyTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_sellTaxTotal", "type": "uint256" }, { "internalType": "uint256", "name": "_transferTaxTotal", "type": "uint256" } ], "stateMutability": "view", "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": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526000600560156101000a81548160ff0219169083151502179055506001600960006101000a81548160ff0219169083151502179055506000600d60006101000a81548160ff0219169083151502179055506001601460006101000a81548160ff0219169083151502179055503480156200007d57600080fd5b506040518060400160405280600d81526020017f5472756d706f63616c79707365000000000000000000000000000000000000008152506040518060400160405280600481526020017f54434c50000000000000000000000000000000000000000000000000000000008152508160039081620000fb919062000eba565b5080600490816200010d919062000eba565b50505062000130620001246200059360201b60201c565b6200059b60201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506200015c8160016200066160201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020291906200100b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200026a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029091906200100b565b6040518363ffffffff1660e01b8152600401620002af9291906200104e565b6020604051808303816000875af1158015620002cf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f591906200100b565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200033d60a05160016200066160201b60201c565b6200035260a05160016200079b60201b60201c565b6000620003646200083c60201b60201c565b600a6200037291906200120b565b633b9aca006200038391906200125c565b9050426008819055506103e86014826200039e91906200125c565b620003aa9190620012d6565b600b819055506103e8601482620003c291906200125c565b620003ce9190620012d6565b600a819055506103e8600182620003e691906200125c565b620003f29190620012d6565b60068190555060646001826200040991906200125c565b620004159190620012d6565b6007819055506018600e819055506022600f81905550602260108190555073094c1b5af2cad0b3a29ece98031aceafbfe26f29600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200049b3360016200084560201b60201c565b620004ae3060016200084560201b60201c565b620004c361dead60016200084560201b60201c565b620004f8600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200084560201b60201c565b6200050b3360016200066160201b60201c565b6200051e3060016200066160201b60201c565b6200053361dead60016200066160201b60201c565b62000568600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200066160201b60201c565b62000579336200097f60201b60201c565b6200058b338262000a9460201b60201c565b50506200153e565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620006716200059360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200069762000c0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620006f0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006e7906200136f565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc92826040516200078f9190620013ae565b60405180910390a25050565b80601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fe0f0eeda3b1247853e2a825aa40eb65c3b08879740f68ff00df4745b6bb075b260405160405180910390a35050565b60006012905090565b620008556200059360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200087b62000c0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620008d4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008cb906200136f565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051620009739190620013ae565b60405180910390a25050565b6200098f6200059360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620009b562000c0c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000a0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a05906200136f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000a80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a779062001441565b60405180910390fd5b62000a91816200059b60201b60201c565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000b06576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000afd90620014b3565b60405180910390fd5b62000b1a6000838362000c3660201b60201c565b806002600082825462000b2e9190620014d5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000b859190620014d5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000bec919062001521565b60405180910390a362000c086000838362000c3b60201b60201c565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b505050565b505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000cc257607f821691505b60208210810362000cd85762000cd762000c7a565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000d427fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000d03565b62000d4e868362000d03565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000d9b62000d9562000d8f8462000d66565b62000d70565b62000d66565b9050919050565b6000819050919050565b62000db78362000d7a565b62000dcf62000dc68262000da2565b84845462000d10565b825550505050565b600090565b62000de662000dd7565b62000df381848462000dac565b505050565b5b8181101562000e1b5762000e0f60008262000ddc565b60018101905062000df9565b5050565b601f82111562000e6a5762000e348162000cde565b62000e3f8462000cf3565b8101602085101562000e4f578190505b62000e6762000e5e8562000cf3565b83018262000df8565b50505b505050565b600082821c905092915050565b600062000e8f6000198460080262000e6f565b1980831691505092915050565b600062000eaa838362000e7c565b9150826002028217905092915050565b62000ec58262000c40565b67ffffffffffffffff81111562000ee15762000ee062000c4b565b5b62000eed825462000ca9565b62000efa82828562000e1f565b600060209050601f83116001811462000f32576000841562000f1d578287015190505b62000f29858262000e9c565b86555062000f99565b601f19841662000f428662000cde565b60005b8281101562000f6c5784890151825560018201915060208501945060208101905062000f45565b8683101562000f8c578489015162000f88601f89168262000e7c565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000fd38262000fa6565b9050919050565b62000fe58162000fc6565b811462000ff157600080fd5b50565b600081519050620010058162000fda565b92915050565b60006020828403121562001024576200102362000fa1565b5b6000620010348482850162000ff4565b91505092915050565b620010488162000fc6565b82525050565b60006040820190506200106560008301856200103d565b6200107460208301846200103d565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200110957808604811115620010e157620010e06200107b565b5b6001851615620010f15780820291505b80810290506200110185620010aa565b9450620010c1565b94509492505050565b600082620011245760019050620011f7565b81620011345760009050620011f7565b81600181146200114d576002811462001158576200118e565b6001915050620011f7565b60ff8411156200116d576200116c6200107b565b5b8360020a9150848211156200118757620011866200107b565b5b50620011f7565b5060208310610133831016604e8410600b8410161715620011c85782820a905083811115620011c257620011c16200107b565b5b620011f7565b620011d78484846001620010b7565b92509050818404811115620011f157620011f06200107b565b5b81810290505b9392505050565b600060ff82169050919050565b6000620012188262000d66565b91506200122583620011fe565b9250620012547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001112565b905092915050565b6000620012698262000d66565b9150620012768362000d66565b9250828202620012868162000d66565b91508282048414831517620012a0576200129f6200107b565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620012e38262000d66565b9150620012f08362000d66565b925082620013035762001302620012a7565b5b828204905092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620013576020836200130e565b915062001364826200131f565b602082019050919050565b600060208201905081810360008301526200138a8162001348565b9050919050565b60008115159050919050565b620013a88162001391565b82525050565b6000602082019050620013c560008301846200139d565b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000620014296026836200130e565b91506200143682620013cb565b604082019050919050565b600060208201905081810360008301526200145c816200141a565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200149b601f836200130e565b9150620014a88262001463565b602082019050919050565b60006020820190508181036000830152620014ce816200148c565b9050919050565b6000620014e28262000d66565b9150620014ef8362000d66565b92508282019050808211156200150a57620015096200107b565b5b92915050565b6200151b8162000d66565b82525050565b600060208201905062001538600083018462001510565b92915050565b60805160a0516144946200156f6000396000505060008181612ad101528181612bb20152612bd901526144946000f3fe6080604052600436106101e75760003560e01c8063778c615211610102578063b70143c911610095578063dd62ed3e11610064578063dd62ed3e146106dd578063e0655fe51461071a578063e81f3ebc14610743578063f2fde38b1461076e576101ee565b8063b70143c91461064b578063bb85c6d114610674578063c9567bf91461069d578063d0973f10146106b4576101ee565b80639b6b5499116100d15780639b6b54991461057b578063a457c2d7146105a4578063a9059cbb146105e1578063aa0137b11461061e576101ee565b8063778c6152146104d35780638da5cb5b146104fc57806394e88a7a1461052757806395d89b4114610550576101ee565b8063395093511161017a5780636466cfa1116101495780636466cfa11461043f57806370a0823114610468578063715018a6146104a55780637173163e146104bc576101ee565b806339509351146103695780633db9a143146103a65780634a4a5d2c146103e55780636343346014610412576101ee565b8063178b8378116101b6578063178b8378146102ad57806318160ddd146102d657806323b872dd14610301578063313ce5671461033e576101ee565b806306fdde03146101f3578063095ea7b31461021e5780630b006d601461025b5780631756196614610284576101ee565b366101ee57005b600080fd5b3480156101ff57600080fd5b50610208610797565b60405161021591906130c0565b60405180910390f35b34801561022a57600080fd5b506102456004803603810190610240919061317b565b610829565b60405161025291906131d6565b60405180910390f35b34801561026757600080fd5b50610282600480360381019061027d91906131f1565b610847565b005b34801561029057600080fd5b506102ab60048036038101906102a6919061324a565b610969565b005b3480156102b957600080fd5b506102d460048036038101906102cf91906131f1565b610a02565b005b3480156102e257600080fd5b506102eb610ace565b6040516102f89190613286565b60405180910390f35b34801561030d57600080fd5b50610328600480360381019061032391906132a1565b610ad8565b60405161033591906131d6565b60405180910390f35b34801561034a57600080fd5b50610353610bd0565b6040516103609190613310565b60405180910390f35b34801561037557600080fd5b50610390600480360381019061038b919061317b565b610bd9565b60405161039d91906131d6565b60405180910390f35b3480156103b257600080fd5b506103cd60048036038101906103c8919061332b565b610c85565b6040516103dc93929190613358565b60405180910390f35b3480156103f157600080fd5b506103fa610d7e565b6040516104099392919061338f565b60405180910390f35b34801561041e57600080fd5b50610427610da4565b604051610436939291906133c6565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906131f1565b610dbd565b005b34801561047457600080fd5b5061048f600480360381019061048a919061332b565b610eca565b60405161049c9190613286565b60405180910390f35b3480156104b157600080fd5b506104ba610f12565b005b3480156104c857600080fd5b506104d1610f9a565b005b3480156104df57600080fd5b506104fa60048036038101906104f591906131f1565b611068565b005b34801561050857600080fd5b5061051161118a565b60405161051e919061340c565b60405180910390f35b34801561053357600080fd5b5061054e60048036038101906105499190613427565b6111b4565b005b34801561055c57600080fd5b5061056561135d565b60405161057291906130c0565b60405180910390f35b34801561058757600080fd5b506105a2600480360381019061059d919061347a565b6113ef565b005b3480156105b057600080fd5b506105cb60048036038101906105c6919061317b565b611514565b6040516105d891906131d6565b60405180910390f35b3480156105ed57600080fd5b506106086004803603810190610603919061317b565b6115ff565b60405161061591906131d6565b60405180910390f35b34801561062a57600080fd5b5061063361161d565b6040516106429392919061338f565b60405180910390f35b34801561065757600080fd5b50610672600480360381019061066d91906131f1565b611643565b005b34801561068057600080fd5b5061069b6004803603810190610696919061332b565b61170a565b005b3480156106a957600080fd5b506106b2611846565b005b3480156106c057600080fd5b506106db60048036038101906106d6919061347a565b611927565b005b3480156106e957600080fd5b5061070460048036038101906106ff91906134ba565b611a4c565b6040516107119190613286565b60405180910390f35b34801561072657600080fd5b50610741600480360381019061073c91906131f1565b611ad3565b005b34801561074f57600080fd5b50610758611be0565b604051610765919061340c565b60405180910390f35b34801561077a57600080fd5b506107956004803603810190610790919061332b565b611c0a565b005b6060600380546107a690613529565b80601f01602080910402602001604051908101604052809291908181526020018280546107d290613529565b801561081f5780601f106107f45761010080835404028352916020019161081f565b820191906000526020600020905b81548152906001019060200180831161080257829003601f168201915b5050505050905090565b600061083d610836611d01565b8484611d09565b6001905092915050565b61084f611d01565b73ffffffffffffffffffffffffffffffffffffffff1661086d61118a565b73ffffffffffffffffffffffffffffffffffffffff16146108c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ba906135a6565b60405180910390fd5b6005811015610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe90613638565b60405180910390fd5b6103e8610912610ace565b8261091d9190613687565b61092791906136f8565b600a819055507f12528a3c61e0f3b2d6fc707a9fc58b1af86e252cad0d7f4c154ebeabb162dace600a5460405161095e9190613286565b60405180910390a150565b610971611d01565b73ffffffffffffffffffffffffffffffffffffffff1661098f61118a565b73ffffffffffffffffffffffffffffffffffffffff16146109e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109dc906135a6565b60405180910390fd5b80601460006101000a81548160ff02191690831515021790555050565b610a0a611d01565b73ffffffffffffffffffffffffffffffffffffffff16610a2861118a565b73ffffffffffffffffffffffffffffffffffffffff1614610a7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a75906135a6565b60405180910390fd5b8060108190555060646010541115610acb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac29061379b565b60405180910390fd5b50565b6000600254905090565b6000610ae5848484611ed2565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610b30611d01565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610bb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba79061382d565b60405180910390fd5b610bc485610bbc611d01565b858403611d09565b60019150509392505050565b60006012905090565b6000610c7b610be6611d01565b848460016000610bf4611d01565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610c76919061384d565b611d09565b6001905092915050565b6000806000601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169250601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169150601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1690509193909250565b6000806000600960009054906101000a900460ff169250600a549150600b549050909192565b6000806000600e549250600f5491506010549050909192565b610dc5611d01565b73ffffffffffffffffffffffffffffffffffffffff16610de361118a565b73ffffffffffffffffffffffffffffffffffffffff1614610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e30906135a6565b60405180910390fd5b80600f819055506064600f541115610e86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7d906138f3565b60405180910390fd5b7fcb5f36df892836a2eaedc349de29a7581176990398ee185d16eaa8f6c1abd8f1600f54600f54600f54604051610ebf939291906133c6565b60405180910390a150565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f1a611d01565b73ffffffffffffffffffffffffffffffffffffffff16610f3861118a565b73ffffffffffffffffffffffffffffffffffffffff1614610f8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f85906135a6565b60405180910390fd5b610f98600061296c565b565b610fa2611d01565b73ffffffffffffffffffffffffffffffffffffffff16610fc061118a565b73ffffffffffffffffffffffffffffffffffffffff1614611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100d906135a6565b60405180910390fd5b6000600960006101000a81548160ff0219169083151502179055506000601081905550427ff4eaa75eae08ae80c3daf791438dac1cff2cfd3b0bad2304ec7bbb067e50261660405160405180910390a2565b611070611d01565b73ffffffffffffffffffffffffffffffffffffffff1661108e61118a565b73ffffffffffffffffffffffffffffffffffffffff16146110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110db906135a6565b60405180910390fd5b6002811015611128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111f9061395f565b60405180910390fd5b6103e8611133610ace565b8261113e9190613687565b61114891906136f8565b600b819055507fff3dd5e80294197918c284bbfc3dadd97d0b40ce92106110946329088f80068a600b5460405161117f9190613286565b60405180910390a150565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6111bc611d01565b73ffffffffffffffffffffffffffffffffffffffff166111da61118a565b73ffffffffffffffffffffffffffffffffffffffff1614611230576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611227906135a6565b60405180910390fd5b6001821015611274576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126b906139f1565b60405180910390fd5b818110156112b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ae90613a83565b60405180910390fd5b82600560156101000a81548160ff021916908315150217905550612710826112dd610ace565b6112e79190613687565b6112f191906136f8565b60068190555061271081611303610ace565b61130d9190613687565b61131791906136f8565b6007819055507f52cd2cdb42ff0eeec9362d7ed5b04f64c8d022697128b5378fc51cea7e63c7798383836040516113509392919061338f565b60405180910390a1505050565b60606004805461136c90613529565b80601f016020809104026020016040519081016040528092919081815260200182805461139890613529565b80156113e55780601f106113ba576101008083540402835291602001916113e5565b820191906000526020600020905b8154815290600101906020018083116113c857829003601f168201915b5050505050905090565b6113f7611d01565b73ffffffffffffffffffffffffffffffffffffffff1661141561118a565b73ffffffffffffffffffffffffffffffffffffffff161461146b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611462906135a6565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405161150891906131d6565b60405180910390a25050565b60008060016000611523611d01565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156115e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115d790613b15565b60405180910390fd5b6115f46115eb611d01565b85858403611d09565b600191505092915050565b600061161361160c611d01565b8484611ed2565b6001905092915050565b6000806000600560159054906101000a900460ff16925060065491506007549050909192565b3373ffffffffffffffffffffffffffffffffffffffff16600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ca90613ba7565b60405180910390fd5b60006116de30610eca565b90506000606483836116f09190613687565b6116fa91906136f8565b905061170581612a32565b505050565b611712611d01565b73ffffffffffffffffffffffffffffffffffffffff1661173061118a565b73ffffffffffffffffffffffffffffffffffffffff1614611786576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177d906135a6565b60405180910390fd5b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8616c7a330e3cf61290821331585511f1e2778171e2b005fb5ec60cfe874dc6760405160405180910390a380600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61184e611d01565b73ffffffffffffffffffffffffffffffffffffffff1661186c61118a565b73ffffffffffffffffffffffffffffffffffffffff16146118c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b9906135a6565b60405180910390fd5b6001600d60006101000a81548160ff0219169083151502179055506001600560156101000a81548160ff021916908315150217905550427fb3da2db3dfc3778f99852546c6e9ab39ec253f9de7b0847afec61bd27878e92360405160405180910390a2565b61192f611d01565b73ffffffffffffffffffffffffffffffffffffffff1661194d61118a565b73ffffffffffffffffffffffffffffffffffffffff16146119a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199a906135a6565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f4b89c347592b1d537e066cb4ed98d87696ae35164745d7e370e4add16941dc9282604051611a4091906131d6565b60405180910390a25050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611adb611d01565b73ffffffffffffffffffffffffffffffffffffffff16611af961118a565b73ffffffffffffffffffffffffffffffffffffffff1614611b4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b46906135a6565b60405180910390fd5b80600e819055506064600e541115611b9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9390613c39565b60405180910390fd5b7f38513c502b0ab4834ac1df9502b76f75dcf7092469782cfd0db7fe664388e25e600e54600e54600e54604051611bd5939291906133c6565b60405180910390a150565b6000600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611c12611d01565b73ffffffffffffffffffffffffffffffffffffffff16611c3061118a565b73ffffffffffffffffffffffffffffffffffffffff1614611c86576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7d906135a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cec90613ccb565b60405180910390fd5b611cfe8161296c565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6f90613d5d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611de7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dde90613def565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611ec59190613286565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3890613e81565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa790613f13565b60405180910390fd5b60008103611fc957611fc483836000612c6f565b612967565b600960009054906101000a900460ff16156124c457611fe661118a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612054575061202461118a565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561208d5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120c7575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156120e05750600560149054906101000a900460ff16155b156124c357600d60009054906101000a900460ff166121da57601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061219a5750601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6121d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d090613fa5565b60405180910390fd5b5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561227d5750601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561232457600b548111156122c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122be90614037565b60405180910390fd5b600a546122d383610eca565b826122de919061384d565b111561231f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612316906140a3565b60405180910390fd5b6124c2565b601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156123c75750601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561241657600b54811115612411576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161240890614135565b60405180910390fd5b6124c1565b601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166124c057600a5461247383610eca565b8261247e919061384d565b11156124bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b6906140a3565b60405180910390fd5b5b5b5b5b5b60006124cf30610eca565b9050600060065482101590508080156124f45750600560159054906101000a900460ff165b801561250d5750600560149054906101000a900460ff16155b80156125635750601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156125b95750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561260f5750601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561261d57504260085414155b15612669576001600560146101000a81548160ff02191690831515021790555061264683612eee565b426008819055506000600560146101000a81548160ff0219169083151502179055505b6000600560149054906101000a900460ff16159050601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168061271f5750601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561272957600090505b6000811561295757601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561278c57506000600f54115b156127c0576127b960646127ab600f5488612ffa90919063ffffffff16565b61301090919063ffffffff16565b9050612933565b601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561281b57506000600e54115b1561284f57612848606461283a600e5488612ffa90919063ffffffff16565b61301090919063ffffffff16565b9050612932565b60006010541180156128ab5750601360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156129015750601360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156129315761292e606461292060105488612ffa90919063ffffffff16565b61301090919063ffffffff16565b90505b5b5b600081111561294857612947873083612c6f565b5b80856129549190614155565b94505b612962878787612c6f565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000600267ffffffffffffffff811115612a4f57612a4e614189565b5b604051908082528060200260200182016040528015612a7d5781602001602082028036833780820191505090505b5090503081600081518110612a9557612a946141b8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612b3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b5e91906141fc565b81600181518110612b7257612b716141b8565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612bd7307f000000000000000000000000000000000000000000000000000000000000000084611d09565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612c3995949392919061432c565b600060405180830381600087803b158015612c5357600080fd5b505af1158015612c67573d6000803e3d6000fd5b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd590613e81565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4490613f13565b60405180910390fd5b612d58838383613026565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612dde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dd5906143f8565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e71919061384d565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612ed59190613286565b60405180910390a3612ee884848461302b565b50505050565b6000612ef930610eca565b90506000808203612f0b575050612ff7565b600754821115612f1b5760075491505b601460009054906101000a900460ff168015612f425750600a83612f3f9190613687565b82115b15612f5757600a83612f549190613687565b91505b6000829050612f6581612a32565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051612fab90614449565b60006040518083038185875af1925050503d8060008114612fe8576040519150601f19603f3d011682016040523d82523d6000602084013e612fed565b606091505b5050809250505050505b50565b600081836130089190613687565b905092915050565b6000818361301e91906136f8565b905092915050565b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561306a57808201518184015260208101905061304f565b60008484015250505050565b6000601f19601f8301169050919050565b600061309282613030565b61309c818561303b565b93506130ac81856020860161304c565b6130b581613076565b840191505092915050565b600060208201905081810360008301526130da8184613087565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613112826130e7565b9050919050565b61312281613107565b811461312d57600080fd5b50565b60008135905061313f81613119565b92915050565b6000819050919050565b61315881613145565b811461316357600080fd5b50565b6000813590506131758161314f565b92915050565b60008060408385031215613192576131916130e2565b5b60006131a085828601613130565b92505060206131b185828601613166565b9150509250929050565b60008115159050919050565b6131d0816131bb565b82525050565b60006020820190506131eb60008301846131c7565b92915050565b600060208284031215613207576132066130e2565b5b600061321584828501613166565b91505092915050565b613227816131bb565b811461323257600080fd5b50565b6000813590506132448161321e565b92915050565b6000602082840312156132605761325f6130e2565b5b600061326e84828501613235565b91505092915050565b61328081613145565b82525050565b600060208201905061329b6000830184613277565b92915050565b6000806000606084860312156132ba576132b96130e2565b5b60006132c886828701613130565b93505060206132d986828701613130565b92505060406132ea86828701613166565b9150509250925092565b600060ff82169050919050565b61330a816132f4565b82525050565b60006020820190506133256000830184613301565b92915050565b600060208284031215613341576133406130e2565b5b600061334f84828501613130565b91505092915050565b600060608201905061336d60008301866131c7565b61337a60208301856131c7565b61338760408301846131c7565b949350505050565b60006060820190506133a460008301866131c7565b6133b16020830185613277565b6133be6040830184613277565b949350505050565b60006060820190506133db6000830186613277565b6133e86020830185613277565b6133f56040830184613277565b949350505050565b61340681613107565b82525050565b600060208201905061342160008301846133fd565b92915050565b6000806000606084860312156134405761343f6130e2565b5b600061344e86828701613235565b935050602061345f86828701613166565b925050604061347086828701613166565b9150509250925092565b60008060408385031215613491576134906130e2565b5b600061349f85828601613130565b92505060206134b085828601613235565b9150509250929050565b600080604083850312156134d1576134d06130e2565b5b60006134df85828601613130565b92505060206134f085828601613130565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061354157607f821691505b602082108103613554576135536134fa565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061359060208361303b565b915061359b8261355a565b602082019050919050565b600060208201905081810360008301526135bf81613583565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b600061362260248361303b565b915061362d826135c6565b604082019050919050565b6000602082019050818103600083015261365181613615565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061369282613145565b915061369d83613145565b92508282026136ab81613145565b915082820484148315176136c2576136c1613658565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061370382613145565b915061370e83613145565b92508261371e5761371d6136c9565b5b828204905092915050565b7f546f74616c207472616e73666572206665652063616e6e6f742062652068696760008201527f686572207468616e203130302500000000000000000000000000000000000000602082015250565b6000613785602d8361303b565b915061379082613729565b604082019050919050565b600060208201905081810360008301526137b481613778565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b600061381760288361303b565b9150613822826137bb565b604082019050919050565b600060208201905081810360008301526138468161380a565b9050919050565b600061385882613145565b915061386383613145565b925082820190508082111561387b5761387a613658565b5b92915050565b7f546f74616c2073656c6c206665652063616e6e6f74206265206869676865722060008201527f7468616e20313030250000000000000000000000000000000000000000000000602082015250565b60006138dd60298361303b565b91506138e882613881565b604082019050919050565b6000602082019050818103600083015261390c816138d0565b9050919050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e3225600082015250565b600061394960208361303b565b915061395482613913565b602082019050919050565b600060208201905081810360008301526139788161393c565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e30312520746f74616c20737570706c792e000000000000000000000000602082015250565b60006139db60348361303b565b91506139e68261397f565b604082019050919050565b60006020820190508181036000830152613a0a816139ce565b9050919050565b7f6d6178696d756d20616d6f756e742063616e742062652068696768657220746860008201527f616e206d696e696d756d00000000000000000000000000000000000000000000602082015250565b6000613a6d602a8361303b565b9150613a7882613a11565b604082019050919050565b60006020820190508181036000830152613a9c81613a60565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613aff60258361303b565b9150613b0a82613aa3565b604082019050919050565b60006020820190508181036000830152613b2e81613af2565b9050919050565b7f4f6e6c79206d61726b6574696e672077616c6c65742063616e2063616c6c207460008201527f6869732066756e6374696f6e0000000000000000000000000000000000000000602082015250565b6000613b91602c8361303b565b9150613b9c82613b35565b604082019050919050565b60006020820190508181036000830152613bc081613b84565b9050919050565b7f546f74616c20627579206665652063616e6e6f7420626520686967686572207460008201527f68616e2031303025000000000000000000000000000000000000000000000000602082015250565b6000613c2360288361303b565b9150613c2e82613bc7565b604082019050919050565b60006020820190508181036000830152613c5281613c16565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613cb560268361303b565b9150613cc082613c59565b604082019050919050565b60006020820190508181036000830152613ce481613ca8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613d4760248361303b565b9150613d5282613ceb565b604082019050919050565b60006020820190508181036000830152613d7681613d3a565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613dd960228361303b565b9150613de482613d7d565b604082019050919050565b60006020820190508181036000830152613e0881613dcc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000613e6b60258361303b565b9150613e7682613e0f565b604082019050919050565b60006020820190508181036000830152613e9a81613e5e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000613efd60238361303b565b9150613f0882613ea1565b604082019050919050565b60006020820190508181036000830152613f2c81613ef0565b9050919050565b7f5f7472616e736665723a3a2054726164696e67206973206e6f7420616374697660008201527f652e000000000000000000000000000000000000000000000000000000000000602082015250565b6000613f8f60228361303b565b9150613f9a82613f33565b604082019050919050565b60006020820190508181036000830152613fbe81613f82565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b600061402160268361303b565b915061402c82613fc5565b604082019050919050565b6000602082019050818103600083015261405081614014565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b600061408d60138361303b565b915061409882614057565b602082019050919050565b600060208201905081810360008301526140bc81614080565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b600061411f60278361303b565b915061412a826140c3565b604082019050919050565b6000602082019050818103600083015261414e81614112565b9050919050565b600061416082613145565b915061416b83613145565b925082820390508181111561418357614182613658565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000815190506141f681613119565b92915050565b600060208284031215614212576142116130e2565b5b6000614220848285016141e7565b91505092915050565b6000819050919050565b6000819050919050565b600061425861425361424e84614229565b614233565b613145565b9050919050565b6142688161423d565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6142a381613107565b82525050565b60006142b5838361429a565b60208301905092915050565b6000602082019050919050565b60006142d98261426e565b6142e38185614279565b93506142ee8361428a565b8060005b8381101561431f57815161430688826142a9565b9750614311836142c1565b9250506001810190506142f2565b5085935050505092915050565b600060a0820190506143416000830188613277565b61434e602083018761425f565b818103604083015261436081866142ce565b905061436f60608301856133fd565b61437c6080830184613277565b9695505050505050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006143e260268361303b565b91506143ed82614386565b604082019050919050565b60006020820190508181036000830152614411816143d5565b9050919050565b600081905092915050565b50565b6000614433600083614418565b915061443e82614423565b600082019050919050565b600061445482614426565b915081905091905056fea2646970667358221220d4a25515d75d77e1cb44a61c0d415af34189c656d9ab109496ada1e423c633b464736f6c63430008130033