Loading
[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "currentAllowance", "type": "uint256" }, { "internalType": "uint256", "name": "requestedDecrease", "type": "uint256" } ], "name": "ERC20FailedDecreaseAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "isExcluded", "type": "bool" } ], "name": "FeeWhitelist", "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": "SetAMMPair", "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": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "projectWalletUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newWallet", "type": "address" }, { "indexed": true, "internalType": "address", "name": "oldWallet", "type": "address" } ], "name": "treasuryWalletUpdated", "type": "event" }, { "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": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "blacklisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "buyFeesTotal", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "canSetBlacklist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "contractSellEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "requestedDecrease", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "dexPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "dexRouter", "outputs": [ { "internalType": "contract IDexRouter", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableBlockTxLimit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "", "type": "address" } ], "name": "exemptFromMaxLimits", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "finishLaunchPeriod", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "", "type": "address" } ], "name": "isAMMPair", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isExcludedFromFees", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "limitTxsPerBlock", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "maxAmountTokensForContractSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxHold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxTx", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minBalanceForContractSell", "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": "projectFeeBuy", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectFeeSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "projectWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sellFeesTotal", "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": "uint256", "name": "_treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "_projectFee", "type": "uint256" } ], "name": "setBuyFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "enabled", "type": "bool" } ], "name": "setContractSellEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_treasuryFee", "type": "uint256" }, { "internalType": "uint256", "name": "_projectFee", "type": "uint256" } ], "name": "setSellFees", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "startLaunch", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenLaunched", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensToSwapProject", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensToSwapTreasury", "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": "tradingLimitsOn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "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": "treasuryFeeBuy", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "treasuryFeeSell", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "treasuryWallet", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "updAds", "type": "address" }, { "internalType": "bool", "name": "isEx", "type": "bool" } ], "name": "txLimitsWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "addresses", "type": "address[]" }, { "internalType": "bool", "name": "isBlacklisted", "type": "bool" } ], "name": "updateBlacklistMultiple", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateContractSellMin", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newAmount", "type": "uint256" } ], "name": "updateMaxContractSellAmount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxHoldAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newNum", "type": "uint256" } ], "name": "updateMaxTxnAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newWallet", "type": "address" } ], "name": "updateProjectWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newTreasuryWallet", "type": "address" } ], "name": "updateTreasuryWallet", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60c06040525f600560156101000a81548160ff021916908315150217905550600160085f6101000a81548160ff0219169083151502179055506001600860016101000a81548160ff0219169083151502179055506001600d5f6101000a81548160ff0219169083151502179055505f600e60146101000a81548160ff02191690831515021790555034801562000093575f80fd5b506040518060400160405280600581526020017f57616765720000000000000000000000000000000000000000000000000000008152506040518060400160405280600281526020017f56530000000000000000000000000000000000000000000000000000000000008152508160039081620001119190620021c8565b508060049081620001239190620021c8565b505050620001466200013a620005fd60201b60201c565b6200060460201b60201c565b5f737a250d5630b4cf539739df2c5dacb4c659f2488d905062000171816001620006c760201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001ef573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000215919062002311565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002a1919062002311565b6040518363ffffffff1660e01b8152600401620002c092919062002352565b6020604051808303815f875af1158015620002dd573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000303919062002311565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506200034b60a0516001620006c760201b60201c565b6200036060a0516001620007ae60201b60201c565b5f600190505f600f90505f600190505f601490505f6c01431e0fae6d7217caa000000090506103e8600a82620003979190620023aa565b620003a3919062002421565b600a819055506103e8601482620003bb9190620023aa565b620003c7919062002421565b600981905550612710600582620003df9190620023aa565b620003eb919062002421565b6006819055506064600182620004029190620023aa565b6200040e919062002421565b600781905550846010819055508360118190555060115460105462000434919062002458565b600f8190555082601381905550816014819055506014546013546200045a919062002458565b60128190555033600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000503620004f56200084c60201b60201c565b60016200087460201b60201c565b620005163060016200087460201b60201c565b6200052b61dead60016200087460201b60201c565b62000560600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660016200087460201b60201c565b62000582620005746200084c60201b60201c565b6001620006c760201b60201c565b62000595306001620006c760201b60201c565b620005aa61dead6001620006c760201b60201c565b620005df600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff166001620006c760201b60201c565b620005f13382620009ab60201b60201c565b50505050505062002b0d565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620006d7620005fd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620006fd6200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000756576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200074d90620024f0565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fee6ce3a11a74f9a94b8a0152fc219acc6645b25bc298e2cae8ec6a520bd83da960405160405180910390a35050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b62000884620005fd60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620008aa6200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000903576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008fa90620024f0565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f781d26db56cdaee11e2fce438cd1461fa45f059fcd5f02aa8e6b1e5716d8d465826040516200099f91906200252c565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000a1e575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000a15919062002547565b60405180910390fd5b62000a315f838362000a3560201b60201c565b5050565b5f810362000a565762000a5083835f620016eb60201b60201c565b620016e6565b60085f9054906101000a900460ff1615620011135762000a7b6200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801562000af2575062000ac26200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801562000b2b57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801562000b66575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801562000b805750600560149054906101000a900460ff16155b156200111257600e60149054906101000a900460ff1662000c7a5760175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168062000c37575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b62000c79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c7090620025b0565b60405180910390fd5b5b600860019054906101000a900460ff161562000e115762000ca06200084c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801562000d0a575060805173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801562000d45575060a05173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1562000e105743600b5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541062000dcd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000dc4906200266a565b60405180910390fd5b43600b5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801562000eaf575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1562000f6857600a5481111562000efd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000ef490620026fe565b60405180910390fd5b60095462000f11836200190f60201b60201c565b8262000f1e919062002458565b111562000f62576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f59906200276c565b60405180910390fd5b62001111565b60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801562001006575060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156200105a57600a5481111562001054576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200104b9062002800565b60405180910390fd5b62001110565b60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166200110f57600954620010bd836200190f60201b60201c565b82620010ca919062002458565b11156200110e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001105906200276c565b60405180910390fd5b5b5b5b5b5b5f62001125306200190f60201b60201c565b90505f60065482101590508080156200114a5750600560159054906101000a900460ff165b8015620011645750600560149054906101000a900460ff16155b8015620011b8575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156200120c575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801562001260575060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15620012ac576001600560146101000a81548160ff021916908315150217905550620012916200195460201b60201c565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff1615905060175f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806200135c575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b1562001366575f90505b60175f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158062001404575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156200149857600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161562001497576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200148e906200286e565b60405180910390fd5b5b5f8115620016ce5760195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015620014f857505f601254115b15620015a2576200152a60646200151b6012548862001b3b60201b90919060201c565b62001b5260201b90919060201c565b9050601254601454826200153f9190620023aa565b6200154b919062002421565b60165f8282546200155d919062002458565b9250508190555060125460135482620015779190620023aa565b62001583919062002421565b60155f82825462001595919062002458565b92505081905550620016a0565b60195f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015620015fa57505f600f54115b156200169f576200162c60646200161d600f548862001b3b60201b90919060201c565b62001b5260201b90919060201c565b9050600f5460115482620016419190620023aa565b6200164d919062002421565b60165f8282546200165f919062002458565b92505081905550600f5460105482620016799190620023aa565b62001685919062002421565b60155f82825462001697919062002458565b925050819055505b5b5f811115620016bd57620016bc873083620016eb60201b60201c565b5b8085620016cb91906200288e565b94505b620016e1878787620016eb60201b60201c565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036200173f578060025f82825462001732919062002458565b9250508190555062001810565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620017cb578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620017c293929190620028d9565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362001859578060025f8282540392505081905550620018a3565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162001902919062002914565b60405180910390a3505050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b5f62001966306200190f60201b60201c565b90505f6016546015546200197b919062002458565b90505f808314806200198c57505f82145b156200199b5750505062001b39565b600754831115620019ac5760075492505b5f479050620019c18462001b6960201b60201c565b5f620019d7824762001d5b60201b90919060201c565b90505f62001a0585620019f66016548562001b3b60201b90919060201c565b62001b5260201b90919060201c565b90505f6015819055505f601681905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405162001a5c9062002960565b5f6040518083038185875af1925050503d805f811462001a98576040519150601f19603f3d011682016040523d82523d5f602084013e62001a9d565b606091505b505080945050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405162001aeb9062002960565b5f6040518083038185875af1925050503d805f811462001b27576040519150601f19603f3d011682016040523d82523d5f602084013e62001b2c565b606091505b5050809450505050505050505b565b5f818362001b4a9190620023aa565b905092915050565b5f818362001b61919062002421565b905092915050565b5f600267ffffffffffffffff81111562001b885762001b8762001f6e565b5b60405190808252806020026020018201604052801562001bb75781602001602082028036833780820191505090505b50905030815f8151811062001bd15762001bd062002976565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060805173ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562001c57573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001c7d919062002311565b8160018151811062001c945762001c9362002976565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505062001ce3306080518462001d7260201b60201c565b60805173ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040162001d2895949392919062002aab565b5f604051808303815f87803b15801562001d40575f80fd5b505af115801562001d53573d5f803e3d5ffd5b505050505050565b5f818362001d6a91906200288e565b905092915050565b62001d87838383600162001d8c60201b60201c565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362001dff575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040162001df6919062002547565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362001e72575f6040517f94280d6200000000000000000000000000000000000000000000000000000000815260040162001e69919062002547565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550801562001f5e578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405162001f55919062002914565b60405180910390a35b50505050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062001fe057607f821691505b60208210810362001ff65762001ff562001f9b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200205a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200201d565b6200206686836200201d565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620020b0620020aa620020a4846200207e565b62002087565b6200207e565b9050919050565b5f819050919050565b620020cb8362002090565b620020e3620020da82620020b7565b84845462002029565b825550505050565b5f90565b620020f9620020eb565b62002106818484620020c0565b505050565b5b818110156200212d57620021215f82620020ef565b6001810190506200210c565b5050565b601f8211156200217c57620021468162001ffc565b62002151846200200e565b8101602085101562002161578190505b6200217962002170856200200e565b8301826200210b565b50505b505050565b5f82821c905092915050565b5f6200219e5f198460080262002181565b1980831691505092915050565b5f620021b883836200218d565b9150826002028217905092915050565b620021d38262001f64565b67ffffffffffffffff811115620021ef57620021ee62001f6e565b5b620021fb825462001fc8565b6200220882828562002131565b5f60209050601f8311600181146200223e575f841562002229578287015190505b620022358582620021ab565b865550620022a4565b601f1984166200224e8662001ffc565b5f5b82811015620022775784890151825560018201915060208501945060208101905062002250565b8683101562002297578489015162002293601f8916826200218d565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620022db82620022b0565b9050919050565b620022ed81620022cf565b8114620022f8575f80fd5b50565b5f815190506200230b81620022e2565b92915050565b5f60208284031215620023295762002328620022ac565b5b5f6200233884828501620022fb565b91505092915050565b6200234c81620022cf565b82525050565b5f604082019050620023675f83018562002341565b62002376602083018462002341565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620023b6826200207e565b9150620023c3836200207e565b9250828202620023d3816200207e565b91508282048414831517620023ed57620023ec6200237d565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200242d826200207e565b91506200243a836200207e565b9250826200244d576200244c620023f4565b5b828204905092915050565b5f62002464826200207e565b915062002471836200207e565b92508282019050808211156200248c576200248b6200237d565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f620024d860208362002492565b9150620024e582620024a2565b602082019050919050565b5f6020820190508181035f8301526200250981620024ca565b9050919050565b5f8115159050919050565b620025268162002510565b82525050565b5f602082019050620025415f8301846200251b565b92915050565b5f6020820190506200255c5f83018462002341565b92915050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f6200259860168362002492565b9150620025a58262002562565b602082019050919050565b5f6020820190508181035f830152620025c9816200258a565b9050919050565b7f5f7570646174653a3a205472616e736665722044656c617920656e61626c65645f8201527f2e20204f6e6c79206f6e652070757263686173652070657220626c6f636b206160208201527f6c6c6f7765642e00000000000000000000000000000000000000000000000000604082015250565b5f6200265260478362002492565b91506200265f82620025d0565b606082019050919050565b5f6020820190508181035f830152620026838162002644565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f620026e660268362002492565b9150620026f3826200268a565b604082019050919050565b5f6020820190508181035f8301526200271781620026d8565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6200275460138362002492565b915062002761826200271e565b602082019050919050565b5f6020820190508181035f830152620027858162002746565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f620027e860278362002492565b9150620027f5826200278c565b604082019050919050565b5f6020820190508181035f8301526200281981620027da565b9050919050565b7f4164647265737320697320626c61636b6c6973746564000000000000000000005f82015250565b5f6200285660168362002492565b9150620028638262002820565b602082019050919050565b5f6020820190508181035f830152620028878162002848565b9050919050565b5f6200289a826200207e565b9150620028a7836200207e565b9250828203905081811115620028c257620028c16200237d565b5b92915050565b620028d3816200207e565b82525050565b5f606082019050620028ee5f83018662002341565b620028fd6020830185620028c8565b6200290c6040830184620028c8565b949350505050565b5f602082019050620029295f830184620028c8565b92915050565b5f81905092915050565b50565b5f620029495f836200292f565b9150620029568262002939565b5f82019050919050565b5f6200296c826200293c565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f620029cc620029c6620029c084620029a3565b62002087565b6200207e565b9050919050565b620029de81620029ac565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b62002a1881620022cf565b82525050565b5f62002a2b838362002a0d565b60208301905092915050565b5f602082019050919050565b5f62002a4f82620029e4565b62002a5b8185620029ee565b935062002a6883620029fe565b805f5b8381101562002a9e57815162002a82888262002a1e565b975062002a8f8362002a37565b92505060018101905062002a6b565b5085935050505092915050565b5f60a08201905062002ac05f830188620028c8565b62002acf6020830187620029d3565b818103604083015262002ae3818662002a43565b905062002af4606083018562002341565b62002b036080830184620028c8565b9695505050505050565b60805160a051614d5662002b595f395f8181611a90015281816122d70152612b8d01525f8181610f0c01528181612b35015281816139a401528181613a830152613aaa0152614d565ff3fe60806040526004361061036e575f3560e01c8063830804c9116101c5578063b6332002116100f6578063dbac26e911610094578063de78e78a1161006e578063de78e78a14610c99578063f242ab4114610cc3578063f2fde38b14610ced578063f799b2c814610d1557610375565b8063dbac26e914610bf9578063dcbc1b5614610c35578063dd62ed3e14610c5d57610375565b8063c0246668116100d0578063c024666814610b41578063c463b99514610b69578063d6bb961214610b93578063d6dc84cc14610bcf57610375565b8063b633200214610ac3578063bbd2f21a14610aed578063beb08ab914610b1757610375565b80639a7a23d611610163578063a457c2d71161013d578063a457c2d7146109e7578063a9059cbb14610a23578063b0249cc614610a5f578063b2d8f20814610a9b57610375565b80639a7a23d61461096d5780639b77884d146109955780639fd8234e146109bf57610375565b80638fbef0971161019f5780638fbef097146108c75780639125ff84146108ef57806395d89b41146109195780639a6c614e1461094357610375565b8063830804c9146108375780638d1942a7146108615780638da5cb5b1461089d57610375565b806343278c611161029f57806370a082311161023d578063727fd35811610217578063727fd358146107915780637437681e146107bb5780637e7e5acc146107e5578063809d458d1461080f57610375565b806370a0823114610717578063715018a614610753578063719276281461076957610375565b80634fbee193116102795780634fbee1931461067357806359a945e9146106af57806365954704146106c55780636c53c8f7146106ed57610375565b806343278c61146105f55780634626402b1461061f57806348b98ef51461064957610375565b806318160ddd1161030c57806323b872dd116102e657806323b872dd1461052b578063313ce5671461056757806339509351146105915780633b7b6a10146105cd57610375565b806318160ddd146104af5780631a2953fe146104d9578063203e727e1461050357610375565b806306fdde031161034857806306fdde03146103e35780630758d9241461040d578063095ea7b31461043757806311aa0ee51461047357610375565b806303a88e801461037957806303a928eb146103a357806304019c14146103b957610375565b3661037557005b5f80fd5b348015610384575f80fd5b5061038d610d3f565b60405161039a9190613b69565b60405180910390f35b3480156103ae575f80fd5b506103b7610ddd565b005b3480156103c4575f80fd5b506103cd610e74565b6040516103da9190613b9a565b60405180910390f35b3480156103ee575f80fd5b506103f7610e7a565b6040516104049190613c3d565b60405180910390f35b348015610418575f80fd5b50610421610f0a565b60405161042e9190613cd7565b60405180910390f35b348015610442575f80fd5b5061045d60048036038101906104589190613d5d565b610f2e565b60405161046a9190613b69565b60405180910390f35b34801561047e575f80fd5b5061049960048036038101906104949190613d9b565b610f50565b6040516104a69190613b69565b60405180910390f35b3480156104ba575f80fd5b506104c3610f6d565b6040516104d09190613b9a565b60405180910390f35b3480156104e4575f80fd5b506104ed610f76565b6040516104fa9190613b69565b60405180910390f35b34801561050e575f80fd5b5061052960048036038101906105249190613dc6565b610f89565b005b348015610536575f80fd5b50610551600480360381019061054c9190613df1565b611072565b60405161055e9190613b69565b60405180910390f35b348015610572575f80fd5b5061057b6110a0565b6040516105889190613e5c565b60405180910390f35b34801561059c575f80fd5b506105b760048036038101906105b29190613d5d565b6110a8565b6040516105c49190613b69565b60405180910390f35b3480156105d8575f80fd5b506105f360048036038101906105ee9190613dc6565b6110de565b005b348015610600575f80fd5b506106096111c7565b6040516106169190613b9a565b60405180910390f35b34801561062a575f80fd5b506106336111cd565b6040516106409190613e84565b60405180910390f35b348015610654575f80fd5b5061065d6111f3565b60405161066a9190613b69565b60405180910390f35b34801561067e575f80fd5b5061069960048036038101906106949190613d9b565b611206565b6040516106a69190613b69565b60405180910390f35b3480156106ba575f80fd5b506106c3611258565b005b3480156106d0575f80fd5b506106eb60048036038101906106e69190613ec7565b61130c565b005b3480156106f8575f80fd5b506107016113a5565b60405161070e9190613b69565b60405180910390f35b348015610722575f80fd5b5061073d60048036038101906107389190613d9b565b6113b7565b60405161074a9190613b9a565b60405180910390f35b34801561075e575f80fd5b506107676113fc565b005b348015610774575f80fd5b5061078f600480360381019061078a9190613d9b565b611483565b005b34801561079c575f80fd5b506107a56115bd565b6040516107b29190613b9a565b60405180910390f35b3480156107c6575f80fd5b506107cf6115c3565b6040516107dc9190613b9a565b60405180910390f35b3480156107f0575f80fd5b506107f96115c9565b6040516108069190613b9a565b60405180910390f35b34801561081a575f80fd5b5061083560048036038101906108309190613d9b565b6115cf565b005b348015610842575f80fd5b5061084b61170b565b6040516108589190613b9a565b60405180910390f35b34801561086c575f80fd5b5061088760048036038101906108829190613dc6565b611711565b6040516108949190613b69565b60405180910390f35b3480156108a8575f80fd5b506108b16117e3565b6040516108be9190613e84565b60405180910390f35b3480156108d2575f80fd5b506108ed60048036038101906108e89190613f53565b61180b565b005b3480156108fa575f80fd5b50610903611976565b6040516109109190613b9a565b60405180910390f35b348015610924575f80fd5b5061092d61197c565b60405161093a9190613c3d565b60405180910390f35b34801561094e575f80fd5b50610957611a0c565b6040516109649190613b9a565b60405180910390f35b348015610978575f80fd5b50610993600480360381019061098e9190613fb0565b611a12565b005b3480156109a0575f80fd5b506109a9611b2a565b6040516109b69190613b9a565b60405180910390f35b3480156109ca575f80fd5b506109e560048036038101906109e09190613fee565b611b30565b005b3480156109f2575f80fd5b50610a0d6004803603810190610a089190613d5d565b611c1a565b604051610a1a9190613b69565b60405180910390f35b348015610a2e575f80fd5b50610a496004803603810190610a449190613d5d565b611c95565b604051610a569190613b69565b60405180910390f35b348015610a6a575f80fd5b50610a856004803603810190610a809190613d9b565b611cb7565b604051610a929190613b69565b60405180910390f35b348015610aa6575f80fd5b50610ac16004803603810190610abc9190613fee565b611cd4565b005b348015610ace575f80fd5b50610ad7611dbe565b604051610ae49190613b69565b60405180910390f35b348015610af8575f80fd5b50610b01611dd0565b604051610b0e9190613b9a565b60405180910390f35b348015610b22575f80fd5b50610b2b611dd6565b604051610b389190613e84565b60405180910390f35b348015610b4c575f80fd5b50610b676004803603810190610b629190613fb0565b611dfb565b005b348015610b74575f80fd5b50610b7d611f1d565b604051610b8a9190613b69565b60405180910390f35b348015610b9e575f80fd5b50610bb96004803603810190610bb49190613dc6565b611fba565b604051610bc69190613b69565b60405180910390f35b348015610bda575f80fd5b50610be3612149565b604051610bf09190613b9a565b60405180910390f35b348015610c04575f80fd5b50610c1f6004803603810190610c1a9190613d9b565b61214f565b604051610c2c9190613b69565b60405180910390f35b348015610c40575f80fd5b50610c5b6004803603810190610c569190613fb0565b61216c565b005b348015610c68575f80fd5b50610c836004803603810190610c7e919061402c565b612240565b604051610c909190613b9a565b60405180910390f35b348015610ca4575f80fd5b50610cad6122c2565b604051610cba9190613b69565b60405180910390f35b348015610cce575f80fd5b50610cd76122d5565b604051610ce49190613e84565b60405180910390f35b348015610cf8575f80fd5b50610d136004803603810190610d0e9190613d9b565b6122f9565b005b348015610d20575f80fd5b50610d296123ef565b604051610d369190613b9a565b60405180910390f35b5f610d486123f5565b73ffffffffffffffffffffffffffffffffffffffff16610d666117e3565b73ffffffffffffffffffffffffffffffffffffffff1614610dbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db3906140b4565b60405180910390fd5b5f600860016101000a81548160ff0219169083151502179055506001905090565b610de56123f5565b73ffffffffffffffffffffffffffffffffffffffff16610e036117e3565b73ffffffffffffffffffffffffffffffffffffffff1614610e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e50906140b4565b60405180910390fd5b5f600d5f6101000a81548160ff021916908315150217905550565b60165481565b606060038054610e89906140ff565b80601f0160208091040260200160405190810160405280929190818152602001828054610eb5906140ff565b8015610f005780601f10610ed757610100808354040283529160200191610f00565b820191905f5260205f20905b815481529060010190602001808311610ee357829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f80610f386123f5565b9050610f458185856123fc565b600191505092915050565b6018602052805f5260405f205f915054906101000a900460ff1681565b5f600254905090565b600860019054906101000a900460ff1681565b610f916123f5565b73ffffffffffffffffffffffffffffffffffffffff16610faf6117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611005576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffc906140b4565b60405180910390fd5b6002811015611049576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104090614179565b60405180910390fd5b6103e8611054610f6d565b8261105f91906141c4565b6110699190614232565b600a8190555050565b5f8061107c6123f5565b905061108985828561240e565b6110948585856124a0565b60019150509392505050565b5f6012905090565b5f806110b26123f5565b90506110d38185856110c48589612240565b6110ce9190614262565b6123fc565b600191505092915050565b6110e66123f5565b73ffffffffffffffffffffffffffffffffffffffff166111046117e3565b73ffffffffffffffffffffffffffffffffffffffff161461115a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611151906140b4565b60405180910390fd5b600581101561119e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119590614305565b60405180910390fd5b6103e86111a9610f6d565b826111b491906141c4565b6111be9190614232565b60098190555050565b60065481565b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600560159054906101000a900460ff1681565b5f60175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b6112606123f5565b73ffffffffffffffffffffffffffffffffffffffff1661127e6117e3565b73ffffffffffffffffffffffffffffffffffffffff16146112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb906140b4565b60405180910390fd5b6001600e60146101000a81548160ff0219169083151502179055506001600560156101000a81548160ff021916908315150217905550565b6113146123f5565b73ffffffffffffffffffffffffffffffffffffffff166113326117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611388576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137f906140b4565b60405180910390fd5b80600560156101000a81548160ff02191690831515021790555050565b600d5f9054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6114046123f5565b73ffffffffffffffffffffffffffffffffffffffff166114226117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611478576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146f906140b4565b60405180910390fd5b6114815f612590565b565b61148b6123f5565b73ffffffffffffffffffffffffffffffffffffffff166114a96117e3565b73ffffffffffffffffffffffffffffffffffffffff16146114ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f6906140b4565b60405180910390fd5b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fd0bdd1bf92049384d44f81d258f51a39b26cfc1d256348efb3b109fd8db7271160405160405180910390a380600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60155481565b600a5481565b600f5481565b6115d76123f5565b73ffffffffffffffffffffffffffffffffffffffff166115f56117e3565b73ffffffffffffffffffffffffffffffffffffffff161461164b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611642906140b4565b60405180910390fd5b600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f02f8a1483978974a6412ba3a67040b4daa4fc0dfe9439a7295f9a9538394f63560405160405180910390a380600d60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60075481565b5f61171a6123f5565b73ffffffffffffffffffffffffffffffffffffffff166117386117e3565b73ffffffffffffffffffffffffffffffffffffffff161461178e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611785906140b4565b60405180910390fd5b6006548210156117d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ca90614393565b60405180910390fd5b8160078190555060019050919050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6118136123f5565b73ffffffffffffffffffffffffffffffffffffffff166118316117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611887576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187e906140b4565b60405180910390fd5b600d5f9054906101000a900460ff166118d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cc906143fb565b60405180910390fd5b5f5b838390508110156119705781600c5f8686858181106118f9576118f8614419565b5b905060200201602081019061190e9190613d9b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808061196890614446565b9150506118d7565b50505050565b60135481565b60606004805461198b906140ff565b80601f01602080910402602001604051908101604052809291908181526020018280546119b7906140ff565b8015611a025780601f106119d957610100808354040283529160200191611a02565b820191905f5260205f20905b8154815290600101906020018083116119e557829003601f168201915b5050505050905090565b60095481565b611a1a6123f5565b73ffffffffffffffffffffffffffffffffffffffff16611a386117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611a8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a85906140b4565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b13906144fd565b60405180910390fd5b611b268282612653565b5050565b60115481565b611b386123f5565b73ffffffffffffffffffffffffffffffffffffffff16611b566117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611bac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba3906140b4565b60405180910390fd5b8160138190555080601481905550601454601354611bca9190614262565b601281905550600c6012541115611c16576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0d90614565565b60405180910390fd5b5050565b5f80611c246123f5565b90505f611c318286612240565b905083811015611c7c578481856040517fa60f030c000000000000000000000000000000000000000000000000000000008152600401611c7393929190614583565b60405180910390fd5b611c8982868684036123fc565b60019250505092915050565b5f80611c9f6123f5565b9050611cac8185856124a0565b600191505092915050565b6019602052805f5260405f205f915054906101000a900460ff1681565b611cdc6123f5565b73ffffffffffffffffffffffffffffffffffffffff16611cfa6117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611d50576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d47906140b4565b60405180910390fd5b8160108190555080601181905550601154601054611d6e9190614262565b600f81905550600c600f541115611dba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db190614565565b60405180910390fd5b5050565b60085f9054906101000a900460ff1681565b60105481565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611e036123f5565b73ffffffffffffffffffffffffffffffffffffffff16611e216117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611e77576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6e906140b4565b60405180910390fd5b8060175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f781d26db56cdaee11e2fce438cd1461fa45f059fcd5f02aa8e6b1e5716d8d46582604051611f119190613b69565b60405180910390a25050565b5f611f266123f5565b73ffffffffffffffffffffffffffffffffffffffff16611f446117e3565b73ffffffffffffffffffffffffffffffffffffffff1614611f9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f91906140b4565b60405180910390fd5b5f60085f6101000a81548160ff0219169083151502179055506001905090565b5f611fc36123f5565b73ffffffffffffffffffffffffffffffffffffffff16611fe16117e3565b73ffffffffffffffffffffffffffffffffffffffff1614612037576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202e906140b4565b60405180910390fd5b620186a0612043610f6d565b61204d9190614232565b82101561208f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208690614628565b60405180910390fd5b620186a061209b610f6d565b6101f46120a891906141c4565b6120b29190614232565b8211156120f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120eb906146b6565b60405180910390fd5b600754821115612139576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213090614744565b60405180910390fd5b8160068190555060019050919050565b60125481565b600c602052805f5260405f205f915054906101000a900460ff1681565b6121746123f5565b73ffffffffffffffffffffffffffffffffffffffff166121926117e3565b73ffffffffffffffffffffffffffffffffffffffff16146121e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121df906140b4565b60405180910390fd5b8060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600e60149054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6123016123f5565b73ffffffffffffffffffffffffffffffffffffffff1661231f6117e3565b73ffffffffffffffffffffffffffffffffffffffff1614612375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161236c906140b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036123e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123da906147d2565b60405180910390fd5b6123ec81612590565b50565b60145481565b5f33905090565b61240983838360016126f1565b505050565b5f6124198484612240565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461249a578181101561248b578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161248293929190614583565b60405180910390fd5b61249984848484035f6126f1565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612510575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016125079190613e84565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612580575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016125779190613e84565b60405180910390fd5b61258b8383836128c0565b505050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8060195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fee6ce3a11a74f9a94b8a0152fc219acc6645b25bc298e2cae8ec6a520bd83da960405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612761575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016127589190613e84565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127d1575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016127c89190613e84565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156128ba578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516128b19190613b9a565b60405180910390a35b50505050565b5f81036128d7576128d283835f613501565b6134fc565b60085f9054906101000a900460ff1615612f7f576128f36117e3565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561296157506129316117e3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561299957505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129d3575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129ec5750600560149054906101000a900460ff16155b15612f7e57600e60149054906101000a900460ff16612ae05760175f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612aa0575060175f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612adf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad69061483a565b60405180910390fd5b5b600860019054906101000a900460ff1615612ca457612afd6117e3565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612b8457507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612bdc57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612ca35743600b5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410612c60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c57906148ee565b60405180910390fd5b43600b5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60195f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612d41575060185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612de857600a54811115612d8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d829061497c565b60405180910390fd5b600954612d97836113b7565b82612da29190614262565b1115612de3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612dda906149e4565b60405180910390fd5b612f7d565b60195f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612e85575060185f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612ed457600a54811115612ecf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ec690614a72565b60405180910390fd5b612f7c565b60185f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16612f7b57600954612f2e836113b7565b82612f399190614262565b1115612f7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f71906149e4565b60405180910390fd5b5b5b5b5b5b5f612f89306113b7565b90505f6006548210159050808015612fad5750600560159054906101000a900460ff165b8015612fc65750600560149054906101000a900460ff16155b8015613019575060195f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b801561306c575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156130bf575060175f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15613102576001600560146101000a81548160ff0219169083151502179055506130e761371a565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff1615905060175f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806131b1575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b156131ba575f90505b60175f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580613257575060175f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156132e757600c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16156132e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132dd90614ada565b60405180910390fd5b5b5f81156134ec5760195f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561334557505f601254115b156133dd576133726064613364601254886138dd90919063ffffffff16565b6138f290919063ffffffff16565b90506012546014548261338591906141c4565b61338f9190614232565b60165f82825461339f9190614262565b92505081905550601254601354826133b791906141c4565b6133c19190614232565b60155f8282546133d19190614262565b925050819055506134c9565b60195f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16801561343457505f600f54115b156134c8576134616064613453600f54886138dd90919063ffffffff16565b6138f290919063ffffffff16565b9050600f546011548261347491906141c4565b61347e9190614232565b60165f82825461348e9190614262565b92505081905550600f54601054826134a691906141c4565b6134b09190614232565b60155f8282546134c09190614262565b925050819055505b5b5f8111156134dd576134dc873083613501565b5b80856134e99190614af8565b94505b6134f7878787613501565b505050505b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613551578060025f8282546135459190614262565b9250508190555061361f565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050818110156135da578381836040517fe450d38c0000000000000000000000000000000000000000000000000000000081526004016135d193929190614583565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613666578060025f82825403925050819055506136b0565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161370d9190613b9a565b60405180910390a3505050565b5f613724306113b7565b90505f6016546015546137379190614262565b90505f8083148061374757505f82145b15613754575050506138db565b6007548311156137645760075492505b5f47905061377184613907565b5f6137858247613b3a90919063ffffffff16565b90505f6137af856137a1601654856138dd90919063ffffffff16565b6138f290919063ffffffff16565b90505f6015819055505f601681905550600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168160405161380490614b58565b5f6040518083038185875af1925050503d805f811461383e576040519150601f19603f3d011682016040523d82523d5f602084013e613843565b606091505b505080945050600d60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161388f90614b58565b5f6040518083038185875af1925050503d805f81146138c9576040519150601f19603f3d011682016040523d82523d5f602084013e6138ce565b606091505b5050809450505050505050505b565b5f81836138ea91906141c4565b905092915050565b5f81836138ff9190614232565b905092915050565b5f600267ffffffffffffffff81111561392357613922614b6c565b5b6040519080825280602002602001820160405280156139515781602001602082028036833780820191505090505b50905030815f8151811061396857613967614419565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613a0b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a2f9190614bad565b81600181518110613a4357613a42614419565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613aa8307f0000000000000000000000000000000000000000000000000000000000000000846123fc565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401613b09959493929190614cc8565b5f604051808303815f87803b158015613b20575f80fd5b505af1158015613b32573d5f803e3d5ffd5b505050505050565b5f8183613b479190614af8565b905092915050565b5f8115159050919050565b613b6381613b4f565b82525050565b5f602082019050613b7c5f830184613b5a565b92915050565b5f819050919050565b613b9481613b82565b82525050565b5f602082019050613bad5f830184613b8b565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613bea578082015181840152602081019050613bcf565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613c0f82613bb3565b613c198185613bbd565b9350613c29818560208601613bcd565b613c3281613bf5565b840191505092915050565b5f6020820190508181035f830152613c558184613c05565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f613c9f613c9a613c9584613c5d565b613c7c565b613c5d565b9050919050565b5f613cb082613c85565b9050919050565b5f613cc182613ca6565b9050919050565b613cd181613cb7565b82525050565b5f602082019050613cea5f830184613cc8565b92915050565b5f80fd5b5f80fd5b5f613d0282613c5d565b9050919050565b613d1281613cf8565b8114613d1c575f80fd5b50565b5f81359050613d2d81613d09565b92915050565b613d3c81613b82565b8114613d46575f80fd5b50565b5f81359050613d5781613d33565b92915050565b5f8060408385031215613d7357613d72613cf0565b5b5f613d8085828601613d1f565b9250506020613d9185828601613d49565b9150509250929050565b5f60208284031215613db057613daf613cf0565b5b5f613dbd84828501613d1f565b91505092915050565b5f60208284031215613ddb57613dda613cf0565b5b5f613de884828501613d49565b91505092915050565b5f805f60608486031215613e0857613e07613cf0565b5b5f613e1586828701613d1f565b9350506020613e2686828701613d1f565b9250506040613e3786828701613d49565b9150509250925092565b5f60ff82169050919050565b613e5681613e41565b82525050565b5f602082019050613e6f5f830184613e4d565b92915050565b613e7e81613cf8565b82525050565b5f602082019050613e975f830184613e75565b92915050565b613ea681613b4f565b8114613eb0575f80fd5b50565b5f81359050613ec181613e9d565b92915050565b5f60208284031215613edc57613edb613cf0565b5b5f613ee984828501613eb3565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112613f1357613f12613ef2565b5b8235905067ffffffffffffffff811115613f3057613f2f613ef6565b5b602083019150836020820283011115613f4c57613f4b613efa565b5b9250929050565b5f805f60408486031215613f6a57613f69613cf0565b5b5f84013567ffffffffffffffff811115613f8757613f86613cf4565b5b613f9386828701613efe565b93509350506020613fa686828701613eb3565b9150509250925092565b5f8060408385031215613fc657613fc5613cf0565b5b5f613fd385828601613d1f565b9250506020613fe485828601613eb3565b9150509250929050565b5f806040838503121561400457614003613cf0565b5b5f61401185828601613d49565b925050602061402285828601613d49565b9150509250929050565b5f806040838503121561404257614041613cf0565b5b5f61404f85828601613d1f565b925050602061406085828601613d1f565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61409e602083613bbd565b91506140a98261406a565b602082019050919050565b5f6020820190508181035f8301526140cb81614092565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061411657607f821691505b602082108103614129576141286140d2565b5b50919050565b7f43616e6e6f7420736574206d61785478206c6f776572207468616e20302e32255f82015250565b5f614163602083613bbd565b915061416e8261412f565b602082019050919050565b5f6020820190508181035f83015261419081614157565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6141ce82613b82565b91506141d983613b82565b92508282026141e781613b82565b915082820484148315176141fe576141fd614197565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61423c82613b82565b915061424783613b82565b92508261425757614256614205565b5b828204905092915050565b5f61426c82613b82565b915061427783613b82565b925082820190508082111561428f5761428e614197565b5b92915050565b7f43616e6e6f7420736574206d6178486f6c64206c6f776572207468616e20302e5f8201527f3525000000000000000000000000000000000000000000000000000000000000602082015250565b5f6142ef602283613bbd565b91506142fa82614295565b604082019050919050565b5f6020820190508181035f83015261431c816142e3565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f206d696e42616c616e6365466f72436f6e747261637453656c6c000000000000602082015250565b5f61437d603a83613bbd565b915061438882614323565b604082019050919050565b5f6020820190508181035f8301526143aa81614371565b9050919050565b7f426c61636b6c697374206973206c6f636b6564000000000000000000000000005f82015250565b5f6143e5601383613bbd565b91506143f0826143b1565b602082019050919050565b5f6020820190508181035f830152614412816143d9565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f61445082613b82565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361448257614481614197565b5b600182019050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6973414d4d506169720000000000000000000000000000000000000000000000602082015250565b5f6144e7602983613bbd565b91506144f28261448d565b604082019050919050565b5f6020820190508181035f830152614514816144db565b9050919050565b7f4d757374206b656570206665657320617420313225206f72206c6573730000005f82015250565b5f61454f601d83613bbd565b915061455a8261451b565b602082019050919050565b5f6020820190508181035f83015261457c81614543565b9050919050565b5f6060820190506145965f830186613e75565b6145a36020830185613b8b565b6145b06040830184613b8b565b949350505050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f614612603583613bbd565b915061461d826145b8565b604082019050919050565b5f6020820190508181035f83015261463f81614606565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f6146a0603483613bbd565b91506146ab82614646565b604082019050919050565b5f6020820190508181035f8301526146cd81614694565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e206d6178416d6f756e74546f6b656e73466f72436f6e747261637453656c6c602082015250565b5f61472e604083613bbd565b9150614739826146d4565b604082019050919050565b5f6020820190508181035f83015261475b81614722565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6147bc602683613bbd565b91506147c782614762565b604082019050919050565b5f6020820190508181035f8301526147e9816147b0565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614824601683613bbd565b915061482f826147f0565b602082019050919050565b5f6020820190508181035f83015261485181614818565b9050919050565b7f5f7570646174653a3a205472616e736665722044656c617920656e61626c65645f8201527f2e20204f6e6c79206f6e652070757263686173652070657220626c6f636b206160208201527f6c6c6f7765642e00000000000000000000000000000000000000000000000000604082015250565b5f6148d8604783613bbd565b91506148e382614858565b606082019050919050565b5f6020820190508181035f830152614905816148cc565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d617854782e0000000000000000000000000000000000000000000000000000602082015250565b5f614966602683613bbd565b91506149718261490c565b604082019050919050565b5f6020820190508181035f8301526149938161495a565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f6149ce601383613bbd565b91506149d98261499a565b602082019050919050565b5f6020820190508181035f8301526149fb816149c2565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d617854782e00000000000000000000000000000000000000000000000000602082015250565b5f614a5c602783613bbd565b9150614a6782614a02565b604082019050919050565b5f6020820190508181035f830152614a8981614a50565b9050919050565b7f4164647265737320697320626c61636b6c6973746564000000000000000000005f82015250565b5f614ac4601683613bbd565b9150614acf82614a90565b602082019050919050565b5f6020820190508181035f830152614af181614ab8565b9050919050565b5f614b0282613b82565b9150614b0d83613b82565b9250828203905081811115614b2557614b24614197565b5b92915050565b5f81905092915050565b50565b5f614b435f83614b2b565b9150614b4e82614b35565b5f82019050919050565b5f614b6282614b38565b9150819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050614ba781613d09565b92915050565b5f60208284031215614bc257614bc1613cf0565b5b5f614bcf84828501614b99565b91505092915050565b5f819050919050565b5f614bfb614bf6614bf184614bd8565b613c7c565b613b82565b9050919050565b614c0b81614be1565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614c4381613cf8565b82525050565b5f614c548383614c3a565b60208301905092915050565b5f602082019050919050565b5f614c7682614c11565b614c808185614c1b565b9350614c8b83614c2b565b805f5b83811015614cbb578151614ca28882614c49565b9750614cad83614c60565b925050600181019050614c8e565b5085935050505092915050565b5f60a082019050614cdb5f830188613b8b565b614ce86020830187614c02565b8181036040830152614cfa8186614c6c565b9050614d096060830185613e75565b614d166080830184613b8b565b969550505050505056fea2646970667358221220090281cce6ebaf1bddc3b4041a58995c6d44463b8c6a8cbb97254fad2cdef1f364736f6c63430008150033