[ { "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": true, "internalType": "address", "name": "sniper", "type": "address" } ], "name": "BoughtEarly", "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pair", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "value", "type": "bool" } ], "name": "SetAutomatedMarketMakerPair", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "marketingWalletUpdated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "_isExcludedMaxTransactionAmount", "outputs": [ { "internalType": "bool", "name": "", "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": "", "type": "address" } ], "name": "automatedMarketMakerPairs", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "blacklistAccount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "buyMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "disableTransferDelay", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "earlySellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableEarlySellTax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "enableTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "excludeFromFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "excludeFromMaxTransaction", "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitsInEffect", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketingWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTransactionAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxWallet", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellMarketingFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "sellTotalFees", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pair", "type": "address" }, { "internalType": "bool", "name": "value", "type": "bool" } ], "name": "setAutomatedMarketMakerPair", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "onoff", "type": "bool" } ], "name": "setEarlySellTax", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapTokensAtAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensForMarketing", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tradingActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "transferDelayEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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" }, { "inputs": [], "name": "uniswapV2Pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "uniswapV2Router", "outputs": [ { "internalType": "contract IUniswapV2Router02", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" } ], "name": "updateBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newMarketingWallet", "type": "address" } ], "name": "updateMarketingWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTxnAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxWalletAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_earlySellMarketingFee", "type": "uint256" } ], "name": "updateSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "updateSwapEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateSwapTokensAtAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040526001600a60006101000a81548160ff0219169083151502179055506000600a60016101000a81548160ff0219169083151502179055506000600a60026101000a81548160ff0219169083151502179055506001600a60036101000a81548160ff0219169083151502179055506001600e60006101000a81548160ff0219169083151502179055503480156200009857600080fd5b506040518060400160405280600681526020017f53796e74686f00000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f53594e54484f000000000000000000000000000000000000000000000000000081525081600390805190602001906200011d92919062000b26565b5080600490805190602001906200013692919062000b26565b50505060006200014b620005f260201b60201c565b905080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d905062000216816001620005fa60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029157600080fd5b505afa158015620002a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cc919062000c40565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200032f57600080fd5b505afa15801562000344573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200036a919062000c40565b6040518363ffffffff1660e01b81526004016200038992919062000c83565b602060405180830381600087803b158015620003a457600080fd5b505af1158015620003b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003df919062000c40565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200042760a0516001620005fa60201b60201c565b6200043c60a0516001620006f760201b60201c565b60006004905060006004905060006004905060006a52b7d2dcc80cd2e400000090506103e8600a8262000470919062000ce9565b6200047c919062000d79565b6007819055506103e8600a8262000494919062000ce9565b620004a0919062000d79565b600981905550612710600182620004b8919062000ce9565b620004c4919062000d79565b60088190555083601081905550601054600f819055508260128190555060125460118190555081601381905550620005016200079860201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000563620005556200079860201b60201c565b6001620007c260201b60201c565b62000576306001620007c260201b60201c565b6200058b61dead6001620007c260201b60201c565b620005ad6200059f6200079860201b60201c565b6001620005fa60201b60201c565b620005c0306001620005fa60201b60201c565b620005d561dead6001620005fa60201b60201c565b620005e733826200090f60201b60201c565b505050505062001042565b600033905090565b6200060a620005f260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146200069c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006939062000e12565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b620007d2620005f260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161462000864576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200085b9062000e12565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000903919062000e51565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000982576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009799062000ebe565b60405180910390fd5b620009966000838362000abe60201b60201c565b620009b28160025462000ac360201b6200240b1790919060201c565b60028190555062000a10816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000ac360201b6200240b1790919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000ab2919062000ef1565b60405180910390a35050565b505050565b600080828462000ad4919062000f0e565b90508381101562000b1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b139062000fbb565b60405180910390fd5b8091505092915050565b82805462000b34906200100c565b90600052602060002090601f01602090048101928262000b58576000855562000ba4565b82601f1062000b7357805160ff191683800117855562000ba4565b8280016001018555821562000ba4579182015b8281111562000ba357825182559160200191906001019062000b86565b5b50905062000bb3919062000bb7565b5090565b5b8082111562000bd257600081600090555060010162000bb8565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c088262000bdb565b9050919050565b62000c1a8162000bfb565b811462000c2657600080fd5b50565b60008151905062000c3a8162000c0f565b92915050565b60006020828403121562000c595762000c5862000bd6565b5b600062000c698482850162000c29565b91505092915050565b62000c7d8162000bfb565b82525050565b600060408201905062000c9a600083018562000c72565b62000ca9602083018462000c72565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000cf68262000cb0565b915062000d038362000cb0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000d3f5762000d3e62000cba565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000d868262000cb0565b915062000d938362000cb0565b92508262000da65762000da562000d4a565b5b828204905092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000dfa60208362000db1565b915062000e078262000dc2565b602082019050919050565b6000602082019050818103600083015262000e2d8162000deb565b9050919050565b60008115159050919050565b62000e4b8162000e34565b82525050565b600060208201905062000e68600083018462000e40565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ea6601f8362000db1565b915062000eb38262000e6e565b602082019050919050565b6000602082019050818103600083015262000ed98162000e97565b9050919050565b62000eeb8162000cb0565b82525050565b600060208201905062000f08600083018462000ee0565b92915050565b600062000f1b8262000cb0565b915062000f288362000cb0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000f605762000f5f62000cba565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062000fa3601b8362000db1565b915062000fb08262000f6b565b602082019050919050565b6000602082019050818103600083015262000fd68162000f94565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200102557607f821691505b602082108114156200103c576200103b62000fdd565b5b50919050565b60805160a051615234620010a0600039600081816111340152818161192601528181612ad701528181612ef70152612ff4015260008181610d4901528181612a7f01528181613c6c01528181613d5c0152613d8301526152346000f3fe6080604052600436106102b25760003560e01c80637bce5a0411610175578063b62496f5116100dc578063d257b34f11610095578063e2f456051161006f578063e2f4560514610ad5578063e884f26014610b00578063f2fde38b14610b2b578063f8b45b0514610b54576102b9565b8063d257b34f14610a30578063d85ba06314610a6d578063dd62ed3e14610a98576102b9565b8063b62496f514610920578063bbc0c7421461095d578063c024666814610988578063c18bc195146109b1578063c876d0b9146109da578063c8c8ebe414610a05576102b9565b80639a7a23d61161012e5780639a7a23d614610800578063a265777814610829578063a457c2d714610852578063a4d15b641461088f578063a9059cbb146108ba578063aacebbe3146108f7576102b9565b80637bce5a04146107145780638a8c523c1461073f5780638da5cb5b146107565780639213691314610781578063924de9b7146107ac57806395d89b41146107d5576102b9565b8063395093511161021957806370a08231116101d257806370a0823114610618578063715018a61461065557806371fc46881461066c578063751039fc146106955780637571336a146106c057806375f0a874146106e9576102b9565b806339509351146104f257806349bd5a5e1461052f5780634a62bb651461055a5780634fbee193146105855780636a486a8e146105c25780636ddd1713146105ed576102b9565b80631f3fed8f1161026b5780631f3fed8f146103e2578063203e727e1461040d57806323b872dd146104365780632bf3d42d146104735780632d5a5d341461049e578063313ce567146104c7576102b9565b806302dbd8f8146102be57806306fdde03146102e7578063095ea7b31461031257806310d5de531461034f5780631694505e1461038c57806318160ddd146103b7576102b9565b366102b957005b600080fd5b3480156102ca57600080fd5b506102e560048036038101906102e09190613e54565b610b7f565b005b3480156102f357600080fd5b506102fc610c77565b6040516103099190613f2d565b60405180910390f35b34801561031e57600080fd5b5061033960048036038101906103349190613fad565b610d09565b6040516103469190614008565b60405180910390f35b34801561035b57600080fd5b5061037660048036038101906103719190614023565b610d27565b6040516103839190614008565b60405180910390f35b34801561039857600080fd5b506103a1610d47565b6040516103ae91906140af565b60405180910390f35b3480156103c357600080fd5b506103cc610d6b565b6040516103d991906140d9565b60405180910390f35b3480156103ee57600080fd5b506103f7610d75565b60405161040491906140d9565b60405180910390f35b34801561041957600080fd5b50610434600480360381019061042f91906140f4565b610d7b565b005b34801561044257600080fd5b5061045d60048036038101906104589190614121565b610ea5565b60405161046a9190614008565b60405180910390f35b34801561047f57600080fd5b50610488610f7e565b60405161049591906140d9565b60405180910390f35b3480156104aa57600080fd5b506104c560048036038101906104c091906141a0565b610f84565b005b3480156104d357600080fd5b506104dc611076565b6040516104e991906141fc565b60405180910390f35b3480156104fe57600080fd5b5061051960048036038101906105149190613fad565b61107f565b6040516105269190614008565b60405180910390f35b34801561053b57600080fd5b50610544611132565b6040516105519190614226565b60405180910390f35b34801561056657600080fd5b5061056f611156565b60405161057c9190614008565b60405180910390f35b34801561059157600080fd5b506105ac60048036038101906105a79190614023565b611169565b6040516105b99190614008565b60405180910390f35b3480156105ce57600080fd5b506105d76111bf565b6040516105e491906140d9565b60405180910390f35b3480156105f957600080fd5b506106026111c5565b60405161060f9190614008565b60405180910390f35b34801561062457600080fd5b5061063f600480360381019061063a9190614023565b6111d8565b60405161064c91906140d9565b60405180910390f35b34801561066157600080fd5b5061066a611220565b005b34801561067857600080fd5b50610693600480360381019061068e91906140f4565b611378565b005b3480156106a157600080fd5b506106aa611468565b6040516106b79190614008565b60405180910390f35b3480156106cc57600080fd5b506106e760048036038101906106e291906141a0565b611523565b005b3480156106f557600080fd5b506106fe611615565b60405161070b9190614226565b60405180910390f35b34801561072057600080fd5b5061072961163b565b60405161073691906140d9565b60405180910390f35b34801561074b57600080fd5b50610754611641565b005b34801561076257600080fd5b5061076b611717565b6040516107789190614226565b60405180910390f35b34801561078d57600080fd5b50610796611741565b6040516107a391906140d9565b60405180910390f35b3480156107b857600080fd5b506107d360048036038101906107ce9190614241565b611747565b005b3480156107e157600080fd5b506107ea6117fb565b6040516107f79190613f2d565b60405180910390f35b34801561080c57600080fd5b50610827600480360381019061082291906141a0565b61188d565b005b34801561083557600080fd5b50610850600480360381019061084b9190614241565b6119c1565b005b34801561085e57600080fd5b5061087960048036038101906108749190613fad565b611a75565b6040516108869190614008565b60405180910390f35b34801561089b57600080fd5b506108a4611b42565b6040516108b19190614008565b60405180910390f35b3480156108c657600080fd5b506108e160048036038101906108dc9190613fad565b611b55565b6040516108ee9190614008565b60405180910390f35b34801561090357600080fd5b5061091e60048036038101906109199190614023565b611b73565b005b34801561092c57600080fd5b5061094760048036038101906109429190614023565b611cca565b6040516109549190614008565b60405180910390f35b34801561096957600080fd5b50610972611cea565b60405161097f9190614008565b60405180910390f35b34801561099457600080fd5b506109af60048036038101906109aa91906141a0565b611cfd565b005b3480156109bd57600080fd5b506109d860048036038101906109d391906140f4565b611e3d565b005b3480156109e657600080fd5b506109ef611f67565b6040516109fc9190614008565b60405180910390f35b348015610a1157600080fd5b50610a1a611f7a565b604051610a2791906140d9565b60405180910390f35b348015610a3c57600080fd5b50610a576004803603810190610a5291906140f4565b611f80565b604051610a649190614008565b60405180910390f35b348015610a7957600080fd5b50610a826120f0565b604051610a8f91906140d9565b60405180910390f35b348015610aa457600080fd5b50610abf6004803603810190610aba919061426e565b6120f6565b604051610acc91906140d9565b60405180910390f35b348015610ae157600080fd5b50610aea61217d565b604051610af791906140d9565b60405180910390f35b348015610b0c57600080fd5b50610b15612183565b604051610b229190614008565b60405180910390f35b348015610b3757600080fd5b50610b526004803603810190610b4d9190614023565b61223e565b005b348015610b6057600080fd5b50610b69612405565b604051610b7691906140d9565b60405180910390f35b610b87612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0d906142fa565b60405180910390fd5b8160128190555080601381905550601254601181905550600a6011541115610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90614366565b60405180910390fd5b5050565b606060038054610c86906143b5565b80601f0160208091040260200160405190810160405280929190818152602001828054610cb2906143b5565b8015610cff5780601f10610cd457610100808354040283529160200191610cff565b820191906000526020600020905b815481529060010190602001808311610ce257829003601f168201915b5050505050905090565b6000610d1d610d16612469565b8484612471565b6001905092915050565b60176020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b60145481565b610d83612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e09906142fa565b60405180910390fd5b670de0b6b3a76400006103e86001610e28610d6b565b610e329190614416565b610e3c919061449f565b610e46919061449f565b811015610e88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7f90614542565b60405180910390fd5b670de0b6b3a764000081610e9c9190614416565b60078190555050565b6000610eb284848461263c565b610f7384610ebe612469565b610f6e856040518060600160405280602881526020016151b260289139600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610f24612469565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361e9092919063ffffffff16565b612471565b600190509392505050565b60135481565b610f8c612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461101b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611012906142fa565b60405180910390fd5b80600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b600061112861108c612469565b84611123856001600061109d612469565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240b90919063ffffffff16565b612471565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600a60009054906101000a900460ff1681565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60115481565b600a60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611228612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112ae906142fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611380612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461140f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611406906142fa565b60405180910390fd5b80601081905550601054600f81905550600a600f541115611465576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161145c90614366565b60405180910390fd5b50565b6000611472612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611501576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f8906142fa565b60405180910390fd5b6000600a60006101000a81548160ff0219169083151502179055506001905090565b61152b612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146115ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b1906142fa565b60405180910390fd5b80601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b611649612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cf906142fa565b60405180910390fd5b6001600a60016101000a81548160ff0219169083151502179055506001600a60026101000a81548160ff02191690831515021790555043601581905550565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b61174f612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146117de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d5906142fa565b60405180910390fd5b80600a60026101000a81548160ff02191690831515021790555050565b60606004805461180a906143b5565b80601f0160208091040260200160405190810160405280929190818152602001828054611836906143b5565b80156118835780601f1061185857610100808354040283529160200191611883565b820191906000526020600020905b81548152906001019060200180831161186657829003601f168201915b5050505050905090565b611895612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191b906142fa565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119aa906145d4565b60405180910390fd5b6119bd8282613682565b5050565b6119c9612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a58576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4f906142fa565b60405180910390fd5b80600a60036101000a81548160ff02191690831515021790555050565b6000611b38611a82612469565b84611b33856040518060600160405280602581526020016151da6025913960016000611aac612469565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361e9092919063ffffffff16565b612471565b6001905092915050565b600a60039054906101000a900460ff1681565b6000611b69611b62612469565b848461263c565b6001905092915050565b611b7b612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c01906142fa565b60405180910390fd5b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fa751787977eeb3902e30e1d19ca00c6ad274a1f622c31a206e32366700b0567460405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60186020528060005260406000206000915054906101000a900460ff1681565b600a60019054906101000a900460ff1681565b611d05612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d8b906142fa565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611e319190614008565b60405180910390a25050565b611e45612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ecb906142fa565b60405180910390fd5b670de0b6b3a76400006103e86005611eea610d6b565b611ef49190614416565b611efe919061449f565b611f08919061449f565b811015611f4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f4190614666565b60405180910390fd5b670de0b6b3a764000081611f5e9190614416565b60098190555050565b600e60009054906101000a900460ff1681565b60075481565b6000611f8a612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612019576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612010906142fa565b60405180910390fd5b620186a06001612027610d6b565b6120319190614416565b61203b919061449f565b82101561207d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612074906146f8565b60405180910390fd5b6103e8600561208a610d6b565b6120949190614416565b61209e919061449f565b8211156120e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120d79061478a565b60405180910390fd5b8160088190555060019050919050565b600f5481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b600061218d612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461221c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612213906142fa565b60405180910390fd5b6000600e60006101000a81548160ff0219169083151502179055506001905090565b612246612469565b73ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cc906142fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612345576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233c9061481c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60095481565b600080828461241a919061483c565b90508381101561245f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612456906148de565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d890614970565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612551576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161254890614a02565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161262f91906140d9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156126ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126a390614a94565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561271c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161271390614b26565b60405180910390fd5b600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156127c05750600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b6127ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f690614bb8565b60405180910390fd5b60008114156128195761281483836000613723565b613619565b600a60009054906101000a900460ff1615612edc57612836611717565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128a45750612874611717565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128dd5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612917575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129305750600560149054906101000a900460ff16155b15612edb57600a60019054906101000a900460ff16612a2a57601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806129ea5750601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2090614c24565b60405180910390fd5b5b600e60009054906101000a900460ff1615612bf257612a47611717565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612ace57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612b2657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612bf15743600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410612bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ba390614cdc565b60405180910390fd5b43600b60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612c955750601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612d3c57600754811115612cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd690614d6e565b60405180910390fd5b600954612ceb836111d8565b82612cf6919061483c565b1115612d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2e90614dda565b60405180910390fd5b612eda565b601860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612ddf5750601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612e2e57600754811115612e29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2090614e6c565b60405180910390fd5b612ed9565b601760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612ed857600954612e8b836111d8565b82612e96919061483c565b1115612ed7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ece90614dda565b60405180910390fd5b5b5b5b5b5b6001601554612eeb919061483c565b4311158015612f4657507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612f925750737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ff0576001600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161490508015801561305d5750600a60039054906101000a900460ff165b15613131576000600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141580156130fe575042610e10600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546130fb919061483c565b10155b1561311a5760135460128190555060125460118190555061312c565b60046012819055506012546011819055505b6131e5565b6000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156131be5742600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600a60039054906101000a900460ff166131e45760046012819055506012546011819055505b5b60006131f0306111d8565b9050600060085482101590506000600560149054906101000a900460ff16159050601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806132b25750601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156132bc57600090505b6000811561349057601860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561331f57506000601154115b156133865761334c606461333e601154896139b890919063ffffffff16565b613a3390919063ffffffff16565b90506011546012548261335f9190614416565b613369919061449f565b6014600082825461337a919061483c565b9250508190555061346c565b601860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156133e157506000600f54115b1561346b576000600f549050600060105490506032601554613403919061483c565b431161341157601990508091505b6134376064613429848b6139b890919063ffffffff16565b613a3390919063ffffffff16565b92508181846134469190614416565b613450919061449f565b60146000828254613461919061483c565b9250508190555050505b5b600081111561348157613480883083613723565b5b808661348d9190614e8c565b95505b8280156134a95750600a60029054906101000a900460ff165b80156134c25750600560149054906101000a900460ff16155b80156135185750601860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561356e5750601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156135c45750601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15613608576001600560146101000a81548160ff0219169083151502179055506135ec613a7d565b6000600560146101000a81548160ff0219169083151502179055505b613613888888613723565b50505050505b505050565b6000838311158290613666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365d9190613f2d565b60405180910390fd5b50600083856136759190614e8c565b9050809150509392505050565b80601860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161378a90614a94565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137fa90614b26565b60405180910390fd5b61380e838383613b65565b6138798160405180606001604052806026815260200161518c602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461361e9092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061390c816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461240b90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516139ab91906140d9565b60405180910390a3505050565b6000808314156139cb5760009050613a2d565b600082846139d99190614416565b90508284826139e8919061449f565b14613a28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a1f90614f32565b60405180910390fd5b809150505b92915050565b6000613a7583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613b6a565b905092915050565b6000613a88306111d8565b9050600080821415613a9b575050613b63565b6014600854613aaa9190614416565b821115613ac3576014600854613ac09190614416565b91505b6000829050613ad181613bcd565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613b1790614f83565b60006040518083038185875af1925050503d8060008114613b54576040519150601f19603f3d011682016040523d82523d6000602084013e613b59565b606091505b5050809250505050505b565b505050565b60008083118290613bb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ba89190613f2d565b60405180910390fd5b5060008385613bc0919061449f565b9050809150509392505050565b6000600267ffffffffffffffff811115613bea57613be9614f98565b5b604051908082528060200260200182016040528015613c185781602001602082028036833780820191505090505b5090503081600081518110613c3057613c2f614fc7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015613cd057600080fd5b505afa158015613ce4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d08919061500b565b81600181518110613d1c57613d1b614fc7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613d81307f000000000000000000000000000000000000000000000000000000000000000084612471565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613de3959493929190615131565b600060405180830381600087803b158015613dfd57600080fd5b505af1158015613e11573d6000803e3d6000fd5b505050505050565b600080fd5b6000819050919050565b613e3181613e1e565b8114613e3c57600080fd5b50565b600081359050613e4e81613e28565b92915050565b60008060408385031215613e6b57613e6a613e19565b5b6000613e7985828601613e3f565b9250506020613e8a85828601613e3f565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613ece578082015181840152602081019050613eb3565b83811115613edd576000848401525b50505050565b6000601f19601f8301169050919050565b6000613eff82613e94565b613f098185613e9f565b9350613f19818560208601613eb0565b613f2281613ee3565b840191505092915050565b60006020820190508181036000830152613f478184613ef4565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613f7a82613f4f565b9050919050565b613f8a81613f6f565b8114613f9557600080fd5b50565b600081359050613fa781613f81565b92915050565b60008060408385031215613fc457613fc3613e19565b5b6000613fd285828601613f98565b9250506020613fe385828601613e3f565b9150509250929050565b60008115159050919050565b61400281613fed565b82525050565b600060208201905061401d6000830184613ff9565b92915050565b60006020828403121561403957614038613e19565b5b600061404784828501613f98565b91505092915050565b6000819050919050565b600061407561407061406b84613f4f565b614050565b613f4f565b9050919050565b60006140878261405a565b9050919050565b60006140998261407c565b9050919050565b6140a98161408e565b82525050565b60006020820190506140c460008301846140a0565b92915050565b6140d381613e1e565b82525050565b60006020820190506140ee60008301846140ca565b92915050565b60006020828403121561410a57614109613e19565b5b600061411884828501613e3f565b91505092915050565b60008060006060848603121561413a57614139613e19565b5b600061414886828701613f98565b935050602061415986828701613f98565b925050604061416a86828701613e3f565b9150509250925092565b61417d81613fed565b811461418857600080fd5b50565b60008135905061419a81614174565b92915050565b600080604083850312156141b7576141b6613e19565b5b60006141c585828601613f98565b92505060206141d68582860161418b565b9150509250929050565b600060ff82169050919050565b6141f6816141e0565b82525050565b600060208201905061421160008301846141ed565b92915050565b61422081613f6f565b82525050565b600060208201905061423b6000830184614217565b92915050565b60006020828403121561425757614256613e19565b5b60006142658482850161418b565b91505092915050565b6000806040838503121561428557614284613e19565b5b600061429385828601613f98565b92505060206142a485828601613f98565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006142e4602083613e9f565b91506142ef826142ae565b602082019050919050565b60006020820190508181036000830152614313816142d7565b9050919050565b7f4d757374206b656570206665657320617420313025206f72206c657373000000600082015250565b6000614350601d83613e9f565b915061435b8261431a565b602082019050919050565b6000602082019050818103600083015261437f81614343565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806143cd57607f821691505b602082108114156143e1576143e0614386565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061442182613e1e565b915061442c83613e1e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614465576144646143e7565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006144aa82613e1e565b91506144b583613e1e565b9250826144c5576144c4614470565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b600061452c602f83613e9f565b9150614537826144d0565b604082019050919050565b6000602082019050818103600083015261455b8161451f565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006145be603983613e9f565b91506145c982614562565b604082019050919050565b600060208201905081810360008301526145ed816145b1565b9050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b6000614650602483613e9f565b915061465b826145f4565b604082019050919050565b6000602082019050818103600083015261467f81614643565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006146e2603583613e9f565b91506146ed82614686565b604082019050919050565b60006020820190508181036000830152614711816146d5565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b6000614774603483613e9f565b915061477f82614718565b604082019050919050565b600060208201905081810360008301526147a381614767565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614806602683613e9f565b9150614811826147aa565b604082019050919050565b60006020820190508181036000830152614835816147f9565b9050919050565b600061484782613e1e565b915061485283613e1e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614887576148866143e7565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006148c8601b83613e9f565b91506148d382614892565b602082019050919050565b600060208201905081810360008301526148f7816148bb565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061495a602483613e9f565b9150614965826148fe565b604082019050919050565b600060208201905081810360008301526149898161494d565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006149ec602283613e9f565b91506149f782614990565b604082019050919050565b60006020820190508181036000830152614a1b816149df565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614a7e602583613e9f565b9150614a8982614a22565b604082019050919050565b60006020820190508181036000830152614aad81614a71565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614b10602383613e9f565b9150614b1b82614ab4565b604082019050919050565b60006020820190508181036000830152614b3f81614b03565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d207460008201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b6000614ba2603183613e9f565b9150614bad82614b46565b604082019050919050565b60006020820190508181036000830152614bd181614b95565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000614c0e601683613e9f565b9150614c1982614bd8565b602082019050919050565b60006020820190508181036000830152614c3d81614c01565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b6000614cc6604983613e9f565b9150614cd182614c44565b606082019050919050565b60006020820190508181036000830152614cf581614cb9565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000614d58603583613e9f565b9150614d6382614cfc565b604082019050919050565b60006020820190508181036000830152614d8781614d4b565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000614dc4601383613e9f565b9150614dcf82614d8e565b602082019050919050565b60006020820190508181036000830152614df381614db7565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000614e56603683613e9f565b9150614e6182614dfa565b604082019050919050565b60006020820190508181036000830152614e8581614e49565b9050919050565b6000614e9782613e1e565b9150614ea283613e1e565b925082821015614eb557614eb46143e7565b5b828203905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614f1c602183613e9f565b9150614f2782614ec0565b604082019050919050565b60006020820190508181036000830152614f4b81614f0f565b9050919050565b600081905092915050565b50565b6000614f6d600083614f52565b9150614f7882614f5d565b600082019050919050565b6000614f8e82614f60565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151905061500581613f81565b92915050565b60006020828403121561502157615020613e19565b5b600061502f84828501614ff6565b91505092915050565b6000819050919050565b600061505d61505861505384615038565b614050565b613e1e565b9050919050565b61506d81615042565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6150a881613f6f565b82525050565b60006150ba838361509f565b60208301905092915050565b6000602082019050919050565b60006150de82615073565b6150e8818561507e565b93506150f38361508f565b8060005b8381101561512457815161510b88826150ae565b9750615116836150c6565b9250506001810190506150f7565b5085935050505092915050565b600060a08201905061514660008301886140ca565b6151536020830187615064565b818103604083015261516581866150d3565b90506151746060830185614217565b61518160808301846140ca565b969550505050505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212204cbc825ecc16fb762e4dd9977978a9b380d6a13886041f393245db619a23a4cb64736f6c63430008090033