[ { "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": "amountETH", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountTokens", "type": "uint256" } ], "name": "AutoLiquify", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "ClearStuck", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "TokenAddressCleared", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "Amount", "type": "uint256" } ], "name": "ClearToken", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint8", "name": "Buy", "type": "uint8" }, { "indexed": false, "internalType": "uint8", "name": "Sell", "type": "uint8" }, { "indexed": false, "internalType": "uint8", "name": "Transfer", "type": "uint8" } ], "name": "EditTax", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxTX", "type": "uint256" } ], "name": "set_MaxTX", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "maxWallet", "type": "uint256" } ], "name": "set_MaxWallet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "marketingFeeReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "buybackFeeReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "burnFeeReceiver", "type": "address" }, { "indexed": false, "internalType": "address", "name": "devFeeReceiver", "type": "address" } ], "name": "set_Receivers", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "Amount", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "Enabled", "type": "bool" } ], "name": "set_SwapBack", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "Wallet", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "Exempt", "type": "bool" } ], "name": "user_TxExempt", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "Wallet", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "Exempt", "type": "bool" } ], "name": "user_exemptfromfees", "type": "event" }, { "inputs": [], "name": "TradingOpen", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxTxAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_maxWalletToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "bool", "name": "excluded", "type": "bool" } ], "name": "addNotBot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "approveMax", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "ratio", "type": "uint256" }, { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "checkRatio", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "clearStuckToken", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manualSend", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "maxWallPercent", "type": "uint256" } ], "name": "maxWalletRule", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "reduceFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "removeLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "router", "outputs": [ { "internalType": "contract IDEXRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityFee", "type": "uint256" }, { "internalType": "uint256", "name": "_buybackFee", "type": "uint256" }, { "internalType": "uint256", "name": "_marketingFee", "type": "uint256" }, { "internalType": "uint256", "name": "_devFee", "type": "uint256" }, { "internalType": "uint256", "name": "_burnFee", "type": "uint256" }, { "internalType": "uint256", "name": "_feeDenominator", "type": "uint256" } ], "name": "setParameters", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_percentonbuy", "type": "uint256" }, { "internalType": "uint256", "name": "_percentonsell", "type": "uint256" }, { "internalType": "uint256", "name": "_wallettransfer", "type": "uint256" } ], "name": "setStructure", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_enabled", "type": "bool" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setSwapBackSettings", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_autoLiquidityReceiver", "type": "address" }, { "internalType": "address", "name": "_marketingFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_devFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_burnFeeReceiver", "type": "address" }, { "internalType": "address", "name": "_buybackFeeReceiver", "type": "address" } ], "name": "setWallets", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "accuracy", "type": "uint256" } ], "name": "showBacking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "showSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "startTrading", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "swapEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "swapThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "totalFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "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" } ]
60806040526012600a62000014919062000e7e565b633b9aca0062000025919062000ece565b60035562000055606462000046600560035462000bae60201b90919060201c565b62000c2e60201b90919060201c565b60045562000085606462000076600560035462000bae60201b90919060201c565b62000c2e60201b90919060201c565b6005555f600b556103de600c555f600d555f600e555f600f55600f54600d54600b54600c54600e54620000b9919062000f18565b620000c5919062000f18565b620000d1919062000f18565b620000dd919062000f18565b6010556103e86011556103de6012556103de6013556103de601455601e601a556064601b555f601e60146101000a81548160ff0219169083151502179055506001601e60156101000a81548160ff0219169083151502179055506103e860035462000149919062000f7f565b601f5534801562000158575f80fd5b505f6200016a62000c7f60201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001805f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350737a250d5630b4cf539739df2c5dacb4c659f2488d601c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000339573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200035f91906200101b565b60025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000409573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200042f91906200101b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539660025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16306040518363ffffffff1660e01b81526004016200048c9291906200105c565b6020604051808303815f875af1158015620004a9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620004cf91906200101b565b601e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160095f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506001600a5f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550734ede7d9e9d9b01dbd6fdb47a2821792b83da02ad60155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734ede7d9e9d9b01dbd6fdb47a2821792b83da02ad60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503360185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead60195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060035460065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60035460405162000ba0919062001098565b60405180910390a3620011fd565b5f80830362000bc0575f905062000c28565b5f828462000bcf919062000ece565b905082848262000be0919062000f7f565b1462000c23576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c1a9062001137565b60405180910390fd5b809150505b92915050565b5f62000c7783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000c8660201b60201c565b905092915050565b5f33905090565b5f808311829062000ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000cc69190620011db565b60405180910390fd5b505f838562000cdf919062000f7f565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000d765780860481111562000d4e5762000d4d62000cec565b5b600185161562000d5e5780820291505b808102905062000d6e8562000d19565b945062000d2e565b94509492505050565b5f8262000d90576001905062000e62565b8162000d9f575f905062000e62565b816001811462000db8576002811462000dc35762000df9565b600191505062000e62565b60ff84111562000dd85762000dd762000cec565b5b8360020a91508482111562000df25762000df162000cec565b5b5062000e62565b5060208310610133831016604e8410600b841016171562000e335782820a90508381111562000e2d5762000e2c62000cec565b5b62000e62565b62000e42848484600162000d25565b9250905081840481111562000e5c5762000e5b62000cec565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f62000e8a8262000e69565b915062000e978362000e72565b925062000ec67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d7f565b905092915050565b5f62000eda8262000e69565b915062000ee78362000e69565b925082820262000ef78162000e69565b9150828204841483151762000f115762000f1062000cec565b5b5092915050565b5f62000f248262000e69565b915062000f318362000e69565b925082820190508082111562000f4c5762000f4b62000cec565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000f8b8262000e69565b915062000f988362000e69565b92508262000fab5762000faa62000f52565b5b828204905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000fe58262000fba565b9050919050565b62000ff78162000fd9565b811462001002575f80fd5b50565b5f81519050620010158162000fec565b92915050565b5f6020828403121562001033576200103262000fb6565b5b5f620010428482850162001005565b91505092915050565b620010568162000fd9565b82525050565b5f604082019050620010715f8301856200104b565b6200108060208301846200104b565b9392505050565b620010928162000e69565b82525050565b5f602082019050620010ad5f83018462001087565b92915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6200111f602183620010b3565b91506200112c82620010c3565b604082019050919050565b5f6020820190508181035f830152620011508162001111565b9050919050565b5f81519050919050565b5f5b838110156200118057808201518184015260208101905062001163565b5f8484015250505050565b5f601f19601f8301169050919050565b5f620011a78262001157565b620011b38185620010b3565b9350620011c581856020860162001161565b620011d0816200118b565b840191505092915050565b5f6020820190508181035f830152620011f581846200119b565b905092915050565b61432a806200120b5f395ff3fe60806040526004361061021d575f3560e01c806377b54bad11610122578063a9059cbb116100aa578063ded1e4381161006e578063ded1e4381461079e578063df20fd49146107da578063f2fde38b14610802578063f42938901461082a578063f887ea401461084057610224565b8063a9059cbb146106ac578063b2bdfa7b146106e8578063c0cbdea414610712578063c6bb9bd41461073a578063dd62ed3e1461076257610224565b8063893d20e8116100f1578063893d20e8146105ee5780638da5cb5b1461061857806395d89b4114610642578063a70419d21461066c578063a8aa1b311461068257610224565b806377b54bad1461053657806378109e54146105725780637d1db4a51461059c57806382528791146105c657610224565b806330c9a6a0116101a55780635d83e1d5116101745780635d83e1d51461047c5780636ddd1713146104a457806370a08231146104ce578063715018a61461050a578063751039fc1461052057610224565b806330c9a6a0146103b0578063313ce567146103ec5780635526566914610416578063571ac8b01461044057610224565b806318160ddd116101ec57806318160ddd146102e25780631df4ccfc1461030c57806323b872dd14610336578063282c874914610372578063293230b81461039a57610224565b80630445b6671461022857806306fdde031461025257806308fd3d051461027c578063095ea7b3146102a657610224565b3661022457005b5f80fd5b348015610233575f80fd5b5061023c61086a565b604051610249919061340d565b60405180910390f35b34801561025d575f80fd5b50610266610870565b60405161027391906134b0565b60405180910390f35b348015610287575f80fd5b506102906108ad565b60405161029d91906134ea565b60405180910390f35b3480156102b1575f80fd5b506102cc60048036038101906102c7919061358f565b6108c0565b6040516102d991906134ea565b60405180910390f35b3480156102ed575f80fd5b506102f66109ad565b604051610303919061340d565b60405180910390f35b348015610317575f80fd5b506103206109b6565b60405161032d919061340d565b60405180910390f35b348015610341575f80fd5b5061035c600480360381019061035791906135cd565b6109bc565b60405161036991906134ea565b60405180910390f35b34801561037d575f80fd5b506103986004803603810190610393919061361d565b610baf565b005b3480156103a5575f80fd5b506103ae610ccc565b005b3480156103bb575f80fd5b506103d660048036038101906103d191906136a6565b610d7d565b6040516103e3919061340d565b60405180910390f35b3480156103f7575f80fd5b50610400610ded565b60405161040d91906136ec565b60405180910390f35b348015610421575f80fd5b5061042a610df5565b604051610437919061340d565b60405180910390f35b34801561044b575f80fd5b5061046660048036038101906104619190613705565b610e34565b60405161047391906134ea565b60405180910390f35b348015610487575f80fd5b506104a2600480360381019061049d91906136a6565b610e66565b005b3480156104af575f80fd5b506104b8610f64565b6040516104c591906134ea565b60405180910390f35b3480156104d9575f80fd5b506104f460048036038101906104ef9190613705565b610f77565b604051610501919061340d565b60405180910390f35b348015610515575f80fd5b5061051e610fbd565b005b34801561052b575f80fd5b5061053461110b565b005b348015610541575f80fd5b5061055c6004803603810190610557919061358f565b6111b3565b60405161056991906134ea565b60405180910390f35b34801561057d575f80fd5b506105866113a7565b604051610593919061340d565b60405180910390f35b3480156105a7575f80fd5b506105b06113ad565b6040516105bd919061340d565b60405180910390f35b3480156105d1575f80fd5b506105ec60048036038101906105e79190613730565b6113b3565b005b3480156105f9575f80fd5b5061060261164f565b60405161060f91906137b6565b60405180910390f35b348015610623575f80fd5b5061062c61165d565b60405161063991906137b6565b60405180910390f35b34801561064d575f80fd5b50610656611684565b60405161066391906134b0565b60405180910390f35b348015610677575f80fd5b506106806116c1565b005b34801561068d575f80fd5b5061069661176e565b6040516106a391906137b6565b60405180910390f35b3480156106b7575f80fd5b506106d260048036038101906106cd919061358f565b611793565b6040516106df91906134ea565b60405180910390f35b3480156106f3575f80fd5b506106fc6117a7565b60405161070991906137b6565b60405180910390f35b34801561071d575f80fd5b50610738600480360381019061073391906137cf565b6117ca565b005b348015610745575f80fd5b50610760600480360381019061075b91906138aa565b611878565b005b34801561076d575f80fd5b5061078860048036038101906107839190613907565b6119ad565b604051610795919061340d565b60405180910390f35b3480156107a9575f80fd5b506107c460048036038101906107bf9190613945565b611a2f565b6040516107d191906134ea565b60405180910390f35b3480156107e5575f80fd5b5061080060048036038101906107fb9190613983565b611a43565b005b34801561080d575f80fd5b5061082860048036038101906108239190613705565b611b46565b005b348015610835575f80fd5b5061083e611d03565b005b34801561084b575f80fd5b50610854611d6a565b6040516108619190613a1c565b60405180910390f35b601f5481565b60606040518060400160405280600581526020017f454e524f4e000000000000000000000000000000000000000000000000000000815250905090565b601e60149054906101000a900460ff1681565b5f8160075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161099b919061340d565b60405180910390a36001905092915050565b5f600354905090565b60105481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610b9b57610b1e826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060075f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b610ba6848484611df1565b90509392505050565b610bb7612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90613a7f565b60405180910390fd5b85600b8190555084600e8190555083600c8190555082600d8190555081600f81905550610caf82610ca185610c9388610c858b8d61242f90919063ffffffff16565b61242f90919063ffffffff16565b61242f90919063ffffffff16565b61242f90919063ffffffff16565b60108190555080601181905550610cc461248c565b505050505050565b610cd4612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5790613a7f565b60405180910390fd5b6001601e60146101000a81548160ff021916908315150217905550565b5f610de6610d89610df5565b610dd8610dc96002610dbb601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f77565b61254790919063ffffffff16565b8561254790919063ffffffff16565b6125be90919063ffffffff16565b9050919050565b5f6012905090565b5f610e2f610e025f610f77565b610e21610e1061dead610f77565b60035461260790919063ffffffff16565b61260790919063ffffffff16565b905090565b5f610e5f827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6108c0565b9050919050565b610e6e612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef190613a7f565b60405180910390fd5b6001811015610f07575f80fd5b6103e881600354610f189190613aca565b610f229190613b38565b6005819055507f1273be876d6df5e39545188e5f5d2d930e30e383f2fb2dc9dfaae2643901be51600554604051610f59919061340d565b60405180910390a150565b601e60159054906101000a900460ff1681565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610fc5612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611051576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104890613a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b611113612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461119f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119690613a7f565b60405180910390fd5b600354600481905550600354600581905550565b5f6111bc612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611248576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161123f90613a7f565b60405180910390fd5b5f82036112ca578273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161128891906137b6565b602060405180830381865afa1580156112a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112c79190613b7c565b91505b7fda2bc2bedd1f85b5a59d5dbbd6684ff877ef916994a16ec08813101e99ace65f83836040516112fb929190613ba7565b60405180910390a18273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b815260040161135f929190613ba7565b6020604051808303815f875af115801561137b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061139f9190613be2565b905092915050565b60055481565b60045481565b6113bb612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611447576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143e90613a7f565b60405180910390fd5b8460155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508360165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260175f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f06cd79b5e338fdebb51e28f829f3333e4fda9663d4732f262d97dbbacf748b1560165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040516116409493929190613c0d565b60405180910390a15050505050565b5f61165861165d565b905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f454e524f4e000000000000000000000000000000000000000000000000000000815250905090565b6116c9612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611755576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174c90613a7f565b60405180910390fd5b601460138190555060146012819055505f601481905550565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61179f338484611df1565b905092915050565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6117d2612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185590613a7f565b60405180910390fd5b816012819055508260138190555080601481905550505050565b611880612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461190c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190390613a7f565b60405180910390fd5b5f5b838390508110156119a7578160085f8686858181106119305761192f613c50565b5b90506020020160208101906119459190613705565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061199f90613c7d565b91505061190e565b50505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f82611a3a83610d7d565b11905092915050565b611a4b612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ace90613a7f565b60405180910390fd5b81601e60156101000a81548160ff02191690831515021790555080601f819055507f519582fd959400ab5e398f78c2768dea99251e8e26aed5578213b059ce4cee60601f54601e60159054906101000a900460ff16604051611b3a929190613cc4565b60405180910390a15050565b611b4e612428565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd190613a7f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3f90613d5b565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611d67573d5f803e3d5ffd5b50565b601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f838311158290611dd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcd91906134b0565b60405180910390fd5b505f8385611de49190613d79565b9050809150509392505050565b5f60205f9054906101000a900460ff1615611e1857611e11848484612650565b9050612421565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611eb6575060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611f0b57601e60149054906101000a900460ff16611f0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0190613df6565b60405180910390fd5b5b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611f8e57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611fc8575061dead73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120215750601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561207a575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120d3575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156121265750600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612189575f61213584610f77565b905060055483826121469190613e14565b1115612187576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217e90613eb7565b60405180910390fd5b505b612193848361281a565b61219b6128b4565b156121a9576121a8612986565b5b612230826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60095f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061230d575060095f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6123215761231c858486612f81565b612323565b825b90506123758160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612413919061340d565b60405180910390a360019150505b9392505050565b5f33905090565b5f80828461243d9190613e14565b905083811015612482576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247990613f1f565b60405180910390fd5b8091505092915050565b7f8cc651ceed4360bdb07d4dfc17daa4a6fa17092a313d2464a582a73e9b9328006124d86011546124ca60135460105461254790919063ffffffff16565b6125be90919063ffffffff16565b6125036011546124f560125460105461254790919063ffffffff16565b6125be90919063ffffffff16565b61252e60115461252060145460105461254790919063ffffffff16565b6125be90919063ffffffff16565b60405161253d93929190613f3d565b60405180910390a1565b5f808303612557575f90506125b8565b5f82846125649190613aca565b90508284826125739190613b38565b146125b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125aa90613fe2565b60405180910390fd5b809150505b92915050565b5f6125ff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613394565b905092915050565b5f61264883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d8f565b905092915050565b5f6126d8826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611d8f9092919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506127698260065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612807919061340d565b60405180910390a3600190509392505050565b600454811115806128715750600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a79061404a565b60405180910390fd5b5050565b5f601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415801561291e575060205f9054906101000a900460ff16155b80156129365750601e60159054906101000a900460ff165b80156129815750601f5460065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b600160205f6101000a81548160ff0219169083151502179055505f6129af601a54601b54611a2f565b6129bb57600b546129bd565b5f5b90505f6129fc60026129ee6010546129e086601f5461254790919063ffffffff16565b6125be90919063ffffffff16565b6125be90919063ffffffff16565b90505f612a1482601f5461260790919063ffffffff16565b90505f600267ffffffffffffffff811115612a3257612a31614068565b5b604051908082528060200260200182016040528015612a605781602001602082028036833780820191505090505b50905030815f81518110612a7757612a76613c50565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600181518110612ae757612ae6613c50565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250505f479050601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947845f8530426040518663ffffffff1660e01b8152600401612b87959493929190614185565b5f604051808303815f87803b158015612b9e575f80fd5b505af1158015612bb0573d5f803e3d5ffd5b505050505f612bc8824761260790919063ffffffff16565b90505f612bf3612be26002896125be90919063ffffffff16565b60105461260790919063ffffffff16565b90505f612c2e6002612c2084612c128c8861254790919063ffffffff16565b6125be90919063ffffffff16565b6125be90919063ffffffff16565b90505f612c5883612c4a600c548761254790919063ffffffff16565b6125be90919063ffffffff16565b90505f612c8284612c74600e548861254790919063ffffffff16565b6125be90919063ffffffff16565b90505f612cac85612c9e600d548961254790919063ffffffff16565b6125be90919063ffffffff16565b90505f60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1684604051612cf49061420a565b5f6040518083038185875af1925050503d805f8114612d2e576040519150601f19603f3d011682016040523d82523d5f602084013e612d33565b606091505b5050905060175f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051612d7c9061420a565b5f6040518083038185875af1925050503d805f8114612db6576040519150601f19603f3d011682016040523d82523d5f602084013e612dbb565b606091505b50508091505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051612e069061420a565b5f6040518083038185875af1925050503d805f8114612e40576040519150601f19603f3d011682016040523d82523d5f602084013e612e45565b606091505b5050809150505f90505f8b1115612f5a57601c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71986308e5f8060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b8152600401612edc9695949392919061421e565b60606040518083038185885af1158015612ef8573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190612f1d919061427d565b5050507f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b4506858c604051612f519291906142cd565b60405180910390a15b5050505050505050505050505f60205f6101000a81548160ff021916908315150217905550565b5f806014549050601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612fe6576012549050613095565b601e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361309457601354905060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161561309357601490505b5b5b5f6130de6103e86011546130a99190613aca565b6130d0846130c26010548a61254790919063ffffffff16565b61254790919063ffffffff16565b6125be90919063ffffffff16565b90505f61310a6010546130fc600f548561254790919063ffffffff16565b6125be90919063ffffffff16565b90505f613120828461260790919063ffffffff16565b90506131728160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506132248260065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461242f90919063ffffffff16565b60065f60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516132e3919061340d565b60405180910390a35f821115613374576133088260035461260790919063ffffffff16565b6003819055505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161336b919061340d565b60405180910390a35b613387838861260790919063ffffffff16565b9450505050509392505050565b5f80831182906133da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133d191906134b0565b60405180910390fd5b505f83856133e89190613b38565b9050809150509392505050565b5f819050919050565b613407816133f5565b82525050565b5f6020820190506134205f8301846133fe565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561345d578082015181840152602081019050613442565b5f8484015250505050565b5f601f19601f8301169050919050565b5f61348282613426565b61348c8185613430565b935061349c818560208601613440565b6134a581613468565b840191505092915050565b5f6020820190508181035f8301526134c88184613478565b905092915050565b5f8115159050919050565b6134e4816134d0565b82525050565b5f6020820190506134fd5f8301846134db565b92915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6135348261350b565b9050919050565b6135448161352a565b811461354e575f80fd5b50565b5f8135905061355f8161353b565b92915050565b61356e816133f5565b8114613578575f80fd5b50565b5f8135905061358981613565565b92915050565b5f80604083850312156135a5576135a4613503565b5b5f6135b285828601613551565b92505060206135c38582860161357b565b9150509250929050565b5f805f606084860312156135e4576135e3613503565b5b5f6135f186828701613551565b935050602061360286828701613551565b92505060406136138682870161357b565b9150509250925092565b5f805f805f8060c0878903121561363757613636613503565b5b5f61364489828a0161357b565b965050602061365589828a0161357b565b955050604061366689828a0161357b565b945050606061367789828a0161357b565b935050608061368889828a0161357b565b92505060a061369989828a0161357b565b9150509295509295509295565b5f602082840312156136bb576136ba613503565b5b5f6136c88482850161357b565b91505092915050565b5f60ff82169050919050565b6136e6816136d1565b82525050565b5f6020820190506136ff5f8301846136dd565b92915050565b5f6020828403121561371a57613719613503565b5b5f61372784828501613551565b91505092915050565b5f805f805f60a0868803121561374957613748613503565b5b5f61375688828901613551565b955050602061376788828901613551565b945050604061377888828901613551565b935050606061378988828901613551565b925050608061379a88828901613551565b9150509295509295909350565b6137b08161352a565b82525050565b5f6020820190506137c95f8301846137a7565b92915050565b5f805f606084860312156137e6576137e5613503565b5b5f6137f38682870161357b565b93505060206138048682870161357b565b92505060406138158682870161357b565b9150509250925092565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126138405761383f61381f565b5b8235905067ffffffffffffffff81111561385d5761385c613823565b5b60208301915083602082028301111561387957613878613827565b5b9250929050565b613889816134d0565b8114613893575f80fd5b50565b5f813590506138a481613880565b92915050565b5f805f604084860312156138c1576138c0613503565b5b5f84013567ffffffffffffffff8111156138de576138dd613507565b5b6138ea8682870161382b565b935093505060206138fd86828701613896565b9150509250925092565b5f806040838503121561391d5761391c613503565b5b5f61392a85828601613551565b925050602061393b85828601613551565b9150509250929050565b5f806040838503121561395b5761395a613503565b5b5f6139688582860161357b565b92505060206139798582860161357b565b9150509250929050565b5f806040838503121561399957613998613503565b5b5f6139a685828601613896565b92505060206139b78582860161357b565b9150509250929050565b5f819050919050565b5f6139e46139df6139da8461350b565b6139c1565b61350b565b9050919050565b5f6139f5826139ca565b9050919050565b5f613a06826139eb565b9050919050565b613a16816139fc565b82525050565b5f602082019050613a2f5f830184613a0d565b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f613a69602083613430565b9150613a7482613a35565b602082019050919050565b5f6020820190508181035f830152613a9681613a5d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f613ad4826133f5565b9150613adf836133f5565b9250828202613aed816133f5565b91508282048414831517613b0457613b03613a9d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f613b42826133f5565b9150613b4d836133f5565b925082613b5d57613b5c613b0b565b5b828204905092915050565b5f81519050613b7681613565565b92915050565b5f60208284031215613b9157613b90613503565b5b5f613b9e84828501613b68565b91505092915050565b5f604082019050613bba5f8301856137a7565b613bc760208301846133fe565b9392505050565b5f81519050613bdc81613880565b92915050565b5f60208284031215613bf757613bf6613503565b5b5f613c0484828501613bce565b91505092915050565b5f608082019050613c205f8301876137a7565b613c2d60208301866137a7565b613c3a60408301856137a7565b613c4760608301846137a7565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613c87826133f5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613cb957613cb8613a9d565b5b600182019050919050565b5f604082019050613cd75f8301856133fe565b613ce460208301846134db565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f613d45602683613430565b9150613d5082613ceb565b604082019050919050565b5f6020820190508181035f830152613d7281613d39565b9050919050565b5f613d83826133f5565b9150613d8e836133f5565b9250828203905081811115613da657613da5613a9d565b5b92915050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f613de0601483613430565b9150613deb82613dac565b602082019050919050565b5f6020820190508181035f830152613e0d81613dd4565b9050919050565b5f613e1e826133f5565b9150613e29836133f5565b9250828201905080821115613e4157613e40613a9d565b5b92915050565b7f546f74616c20486f6c64696e672069732063757272656e746c79206c696d69745f8201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e0000602082015250565b5f613ea1603e83613430565b9150613eac82613e47565b604082019050919050565b5f6020820190508181035f830152613ece81613e95565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613f09601b83613430565b9150613f1482613ed5565b602082019050919050565b5f6020820190508181035f830152613f3681613efd565b9050919050565b5f606082019050613f505f8301866136dd565b613f5d60208301856136dd565b613f6a60408301846136dd565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f613fcc602183613430565b9150613fd782613f72565b604082019050919050565b5f6020820190508181035f830152613ff981613fc0565b9050919050565b7f5458204c696d69742045786365656465640000000000000000000000000000005f82015250565b5f614034601183613430565b915061403f82614000565b602082019050919050565b5f6020820190508181035f83015261406181614028565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f819050919050565b5f6140b86140b36140ae84614095565b6139c1565b6133f5565b9050919050565b6140c88161409e565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6141008161352a565b82525050565b5f61411183836140f7565b60208301905092915050565b5f602082019050919050565b5f614133826140ce565b61413d81856140d8565b9350614148836140e8565b805f5b8381101561417857815161415f8882614106565b975061416a8361411d565b92505060018101905061414b565b5085935050505092915050565b5f60a0820190506141985f8301886133fe565b6141a560208301876140bf565b81810360408301526141b78186614129565b90506141c660608301856137a7565b6141d360808301846133fe565b9695505050505050565b5f81905092915050565b50565b5f6141f55f836141dd565b9150614200826141e7565b5f82019050919050565b5f614214826141ea565b9150819050919050565b5f60c0820190506142315f8301896137a7565b61423e60208301886133fe565b61424b60408301876140bf565b61425860608301866140bf565b61426560808301856137a7565b61427260a08301846133fe565b979650505050505050565b5f805f6060848603121561429457614293613503565b5b5f6142a186828701613b68565b93505060206142b286828701613b68565b92505060406142c386828701613b68565b9150509250925092565b5f6040820190506142e05f8301856133fe565b6142ed60208301846133fe565b939250505056fea2646970667358221220010aa4fe4267da0b361b3ddd38b243c662df5d4d6e980ad9600080caa059d26d64736f6c63430008140033