[ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "Approval", "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": "tokens", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "Discord", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "Telegram", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "Twitter", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "Website", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "additionalInfo", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "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": "_tokens", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "collect", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "creator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "creatorFee", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "initialMarketCap", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_creator", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_totalSupply", "type": "uint256" }, { "internalType": "uint256", "name": "_initialMarketCap", "type": "uint256" }, { "internalType": "uint256", "name": "_upperMarketCap", "type": "uint256" }, { "internalType": "uint256", "name": "_creatorFee", "type": "uint256" }, { "internalType": "uint256", "name": "_transferLimit", "type": "uint256" }, { "internalType": "uint256", "name": "_transferLimitTime", "type": "uint256" } ], "name": "initialize", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_website", "type": "string" }, { "internalType": "string", "name": "_twitter", "type": "string" }, { "internalType": "string", "name": "_telegram", "type": "string" }, { "internalType": "string", "name": "_discord", "type": "string" }, { "internalType": "string", "name": "_info", "type": "string" } ], "name": "metadata", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pool", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "position", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pumpad", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "source", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "team", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokens", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokens", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "transferAndCall", "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": "_tokens", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferLimit", "outputs": [ { "internalType": "uint256", "name": "limit", "type": "uint256" }, { "internalType": "uint256", "name": "until", "type": "uint256" }, { "internalType": "bool", "name": "active", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "upperMarketCap", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
6080604052348015600e575f80fd5b50614f298061001c5f395ff3fe6080604052600436106101b6575f3560e01c806370a08231116100eb578063cb426e7811610089578063e522538111610063578063e5225381146105f2578063e88958dc14610608578063f943251714610632578063fdc9d0f41461065e576101b6565b8063cb426e7814610578578063dd62ed3e1461058e578063e2ddc673146105ca576101b6565b80639e798bf7116100c55780639e798bf7146104be578063a9059cbb146104e8578063a9490cb114610524578063bdaaa6401461054e576101b6565b806370a082311461042e57806385f2aef21461046a57806395d89b4114610494576101b6565b80632b0f1762116101585780633b5f1935116101325780633b5f1935146103745780634000aea01461039e5780634063c865146103da57806367e828bf14610404576101b6565b80632b0f17621461030457806330e290e414610320578063313ce5671461034a576101b6565b8063095ea7b311610194578063095ea7b31461023857806316f0115b1461027457806318160ddd1461029e57806323b872dd146102c8576101b6565b806302d05d3f146101ba57806306fdde03146101e457806309218e911461020e575b5f80fd5b3480156101c5575f80fd5b506101ce610688565b6040516101db9190612ba3565b60405180910390f35b3480156101ef575f80fd5b506101f86106b2565b6040516102059190612c2c565b60405180910390f35b348015610219575f80fd5b5061022261073d565b60405161022f9190612c64565b60405180910390f35b348015610243575f80fd5b5061025e60048036038101906102599190612ce2565b610749565b60405161026b9190612d3a565b60405180910390f35b34801561027f575f80fd5b5061028861075d565b6040516102959190612ba3565b60405180910390f35b3480156102a9575f80fd5b506102b2610788565b6040516102bf9190612c64565b60405180910390f35b3480156102d3575f80fd5b506102ee60048036038101906102e99190612d53565b610794565b6040516102fb9190612d3a565b60405180910390f35b61031e60048036038101906103199190612ecf565b610876565b005b34801561032b575f80fd5b50610334610b90565b6040516103419190612c2c565b60405180910390f35b348015610355575f80fd5b5061035e610c23565b60405161036b9190612fe6565b60405180910390f35b34801561037f575f80fd5b50610388610c28565b6040516103959190612c2c565b60405180910390f35b3480156103a9575f80fd5b506103c460048036038101906103bf919061305c565b610c60565b6040516103d19190612d3a565b60405180910390f35b3480156103e5575f80fd5b506103ee610d15565b6040516103fb9190612c2c565b60405180910390f35b34801561040f575f80fd5b50610418610da8565b6040516104259190612c2c565b60405180910390f35b348015610439575f80fd5b50610454600480360381019061044f91906130cd565b610de1565b6040516104619190612c64565b60405180910390f35b348015610475575f80fd5b5061047e610e2c565b60405161048b9190612ba3565b60405180910390f35b34801561049f575f80fd5b506104a8610e57565b6040516104b59190612c2c565b60405180910390f35b3480156104c9575f80fd5b506104d2610ee3565b6040516104df9190612c2c565b60405180910390f35b3480156104f3575f80fd5b5061050e60048036038101906105099190612ce2565b610f76565b60405161051b9190612d3a565b60405180910390f35b34801561052f575f80fd5b50610538610f8a565b6040516105459190612c2c565b60405180910390f35b348015610559575f80fd5b5061056261101d565b60405161056f9190612c2c565b60405180910390f35b348015610583575f80fd5b5061058c611055565b005b348015610599575f80fd5b506105b460048036038101906105af91906130f8565b61109f565b6040516105c19190612c64565b60405180910390f35b3480156105d5575f80fd5b506105f060048036038101906105eb9190613136565b611127565b005b3480156105fd575f80fd5b506106066111cb565b005b348015610613575f80fd5b5061061c6113b1565b6040516106299190612c2c565b60405180910390f35b34801561063d575f80fd5b506106466113f4565b60405161065593929190613239565b60405180910390f35b348015610669575f80fd5b5061067261141c565b60405161067f9190612c2c565b60405180910390f35b5f600280015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80546106be9061329b565b80601f01602080910402602001604051908101604052809291908181526020018280546106ea9061329b565b80156107355780601f1061070c57610100808354040283529160200191610735565b820191905f5260205f20905b81548152906001019060200180831161071857829003601f168201915b505050505081565b5f6002600b0154905090565b5f6107553384846114af565b905092915050565b5f60026001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f600260030154905090565b5f806107a0853361109f565b9050828110156107ae575f80fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461086157826002600a015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b61086c8585856115a3565b9150509392505050565b60025f015f9054906101000a900460ff1615610890575f80fd5b5f610899610788565b146108a2575f80fd5b5f88511180156108b457506020885111155b6108bc575f80fd5b5f87511180156108ce57506020875111155b6108d6575f80fd5b662386f26fc1000086101580156108fb57506d314dc6448d9338c15b0a000000008611155b610903575f80fd5b5f8511801561091157508484115b610919575f80fd5b5f831115610925575f80fd5b62015180811115610934575f80fd5b60405161094090612b57565b604051809103905ff080158015610959573d5f803e3d5ffd5b5060025f0160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c4d66de88a6040518263ffffffff1660e01b81526004016109f99190612ba3565b5f604051808303815f87803b158015610a10575f80fd5b505af1158015610a22573d5f803e3d5ffd5b5050505088600280015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550875f9081610a769190613468565b508660019081610a869190613468565b5085600260030181905550856002600a015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01819055503073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef88604051610b359190612c64565b60405180910390a3846002600401819055508360026005018190555082600260070181905550610b668585856116f5565b816002600801819055508042610b7c9190613564565b600260090181905550505050505050505050565b60606002600d018054610ba29061329b565b80601f0160208091040260200160405190810160405280929190818152602001828054610bce9061329b565b8015610c195780601f10610bf057610100808354040283529160200191610c19565b820191905f5260205f20905b815481529060010190602001808311610bfc57829003601f168201915b5050505050905090565b601281565b6060610c3c60026004015460126005611f0e565b604051602001610c4c919061361b565b604051602081830303815290604052905090565b5f610c6c3386866115a3565b505f853b90505f8163ffffffff161115610d08578573ffffffffffffffffffffffffffffffffffffffff16636be32e73338787876040518563ffffffff1660e01b8152600401610cbf9493929190613678565b6020604051808303815f875af1158015610cdb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cff91906136e0565b610d07575f80fd5b5b6001915050949350505050565b606060026010018054610d279061329b565b80601f0160208091040260200160405190810160405280929190818152602001828054610d539061329b565b8015610d9e5780601f10610d7557610100808354040283529160200191610d9e565b820191905f5260205f20905b815481529060010190602001808311610d8157829003601f168201915b5050505050905090565b6040518060400160405280600b81526020017f50756d706164204c61627300000000000000000000000000000000000000000081525081565b5f6002600a015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f01549050919050565b5f60025f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60018054610e649061329b565b80601f0160208091040260200160405190810160405280929190818152602001828054610e909061329b565b8015610edb5780601f10610eb257610100808354040283529160200191610edb565b820191905f5260205f20905b815481529060010190602001808311610ebe57829003601f168201915b505050505081565b60606002600f018054610ef59061329b565b80601f0160208091040260200160405190810160405280929190818152602001828054610f219061329b565b8015610f6c5780601f10610f4357610100808354040283529160200191610f6c565b820191905f5260205f20905b815481529060010190602001808311610f4f57829003601f168201915b5050505050905090565b5f610f823384846115a3565b905092915050565b60606002600c018054610f9c9061329b565b80601f0160208091040260200160405190810160405280929190818152602001828054610fc89061329b565b80156110135780601f10610fea57610100808354040283529160200191611013565b820191905f5260205f20905b815481529060010190602001808311610ff657829003601f168201915b5050505050905090565b606061103160026005015460126005611f0e565b604051602001611041919061361b565b604051602081830303815290604052905090565b60025f015f9054906101000a900460ff161561106f575f80fd5b5f611078610788565b14611081575f80fd5b600160025f015f6101000a81548160ff021916908315150217905550565b5f6002600a015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61112f610688565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611165575f80fd5b846002600c0190816111779190613468565b50836002600d01908161118a9190613468565b50826002600e01908161119d9190613468565b50816002600f0190816111b09190613468565b5080600260100190816111c39190613468565b505050505050565b5f7368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff1663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611229573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061124d919061371f565b90508073ffffffffffffffffffffffffffffffffffffffff1663fc6f786560405180608001604052806002600b01548152602001611289610e2c565b73ffffffffffffffffffffffffffffffffffffffff1681526020016fffffffffffffffffffffffffffffffff801681526020016fffffffffffffffffffffffffffffffff80168152506040518263ffffffff1660e01b81526004016112ee91906137e5565b60408051808303815f875af1158015611309573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132d9190613812565b505060025f0160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663476343ee6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015611398575f80fd5b505af11580156113aa573d5f803e3d5ffd5b5050505050565b60606113d060646002600701546113c89190613850565b600380611f0e565b6040516020016113e091906138db565b604051602081830303815290604052905090565b5f805f600260080154925060026009015491505f8311801561141557508142105b9050909192565b60606002600e01805461142e9061329b565b80601f016020809104026020016040519081016040528092919081815260200182805461145a9061329b565b80156114a55780601f1061147c576101008083540402835291602001916114a5565b820191905f5260205f20905b81548152906001019060200180831161148857829003601f168201915b5050505050905090565b5f816002600a015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206001015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516115909190612c64565b60405180910390a3600190509392505050565b5f8082116115af575f80fd5b5f806115b96113f4565b925050915080156115d157818411156115d0575f80fd5b5b836115db87610de1565b10156115e5575f80fd5b836002600a015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f8282540392505081905550836002600a015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f82825401925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516116e09190612c64565b60405180910390a36001925050509392505050565b5f3090505f7368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611757573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061177b919061371f565b90505f8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161090505f6117c2826117bc610788565b896122b4565b5090507368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015611822573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611846919061371f565b73ffffffffffffffffffffffffffffffffffffffff1663a167129585856127106040518463ffffffff1660e01b815260040161188493929190613943565b6020604051808303815f875af11580156118a0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118c4919061371f565b60026001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061190e61075d565b73ffffffffffffffffffffffffffffffffffffffff1663f637731d826040518263ffffffff1660e01b81526004016119469190613987565b5f604051808303815f87803b15801561195d575f80fd5b505af115801561196f573d5f803e3d5ffd5b505050505f7368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff1663791b98bc6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119d1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f5919061371f565b9050611a098582611a04610788565b6114af565b505f611a1d84611a17610788565b8b6122b4565b9150505f611a3385611a2d610788565b8b6122b4565b9150505f881115611bde578273ffffffffffffffffffffffffffffffffffffffff16638831645660405180610160016040528088611a71578a611a73565b895b73ffffffffffffffffffffffffffffffffffffffff1681526020018815611a9a578a611a9c565b895b73ffffffffffffffffffffffffffffffffffffffff16815260200161271062ffffff16815260200188611acf5785611ad1565b845b60020b81526020018815611ae55785611ae7565b845b60020b815260200188611b15576103e88c611b00610788565b0281611b0f57611b0e6139a0565b5b04611b17565b5f5b81526020018815611b43576103e88c611b2e610788565b0281611b3d57611b3c6139a0565b5b04611b45565b5f5b81526020015f81526020015f8152602001611b5e610688565b73ffffffffffffffffffffffffffffffffffffffff168152602001428152506040518263ffffffff1660e01b8152600401611b999190613ad6565b6080604051808303815f875af1158015611bb5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611bd99190613b1a565b505050505b8273ffffffffffffffffffffffffffffffffffffffff16638831645660405180610160016040528088611c11578a611c13565b895b73ffffffffffffffffffffffffffffffffffffffff1681526020018815611c3a578a611c3c565b895b73ffffffffffffffffffffffffffffffffffffffff16815260200161271062ffffff16815260200188611c6f5785611c71565b845b60020b81526020018815611c855785611c87565b845b60020b815260200188611cb9576103e88c6103e803611ca4610788565b0281611cb357611cb26139a0565b5b04611cbb565b5f5b81526020018815611ceb576103e88c6103e803611cd6610788565b0281611ce557611ce46139a0565b5b04611ced565b5f5b81526020015f81526020015f81526020018a73ffffffffffffffffffffffffffffffffffffffff168152602001428152506040518263ffffffff1660e01b8152600401611d3a9190613ad6565b6080604051808303815f875af1158015611d56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d7a9190613b1a565b9091509050506002600b015f8291905055505f8773ffffffffffffffffffffffffffffffffffffffff16311115611f02577368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff166304e45aaf8873ffffffffffffffffffffffffffffffffffffffff16316040518060e001604052808a73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff16815260200161271062ffffff168152602001611e4b610688565b73ffffffffffffffffffffffffffffffffffffffff1681526020018b73ffffffffffffffffffffffffffffffffffffffff163181526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff168152506040518363ffffffff1660e01b8152600401611ebf9190613c19565b60206040518083038185885af1158015611edb573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611f009190613c32565b505b50505050505050505050565b60605f828411611f1e5783611f20565b825b90505f818511611f30575f611f3d565b8185611f3c9190613c5d565b5b600a611f499190613dbf565b86611f549190613e09565b90505f8103611f9c576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250925050506122ad565b5f600190505f8290505b6009811115611fd157600a81611fbc9190613e09565b90508180611fc990613e39565b925050611fa6565b838211611fea57600184611fe59190613564565b611fec565b815b90505f600185611ffc9190613564565b8211612008575f612046565b84600186846120179190613c5d565b6120219190613c5d565b1161204357600185836120349190613c5d565b61203e9190613c5d565b612045565b845b5b90505f5b81836120569190613c5d565b8110156122a6575f848461206a9190613c5d565b82106120b057600a600183866120809190613c5d565b61208a9190613c5d565b600a6120969190613dbf565b876120a19190613e09565b6120ab9190613e80565b6120b2565b5f5b90505f600167ffffffffffffffff8111156120d0576120cf612dab565b5b6040519080825280601f01601f1916602001820160405280156121025781602001600182028036833780820191505090505b5090506030826121129190613eb0565b60f81b815f8151811061212857612127613ee4565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a9053508881604051602001612169929190613f11565b6040516020818303038152906040529850600188866121889190613c5d565b6121929190613c5d565b8310156121f757600388866121a79190613c5d565b6121b19190613e80565b60036001856121c09190613564565b6121ca9190613e80565b036121f257886040516020016121e09190613f7e565b60405160208183030381529060405298505b612297565b5f60018486886122079190613c5d565b6122119190613c5d565b61221b9190613c5d565b600a6122279190613dbf565b85600a6122349190613dbf565b8961223f9190613e09565b6122499190613e80565b036122555750506122a6565b600188866122639190613c5d565b61226d9190613c5d565b830361229657886040516020016122849190613fe9565b60405160208183030381529060405298505b5b5050808060010191505061204a565b5050505050505b9392505050565b5f805f612308866122c557846122c7565b855b87156122d357856122d5565b865b78010000000000000000000000000000000000000000000000006122f99190613e09565b6123039190613850565b612343565b90506123138161239c565b915060c882612322919061400a565b8261232d919061403a565b91506123388261275d565b925050935093915050565b5f8060026001840181612359576123586139a0565b5b0490508291505b818110156123965780915060028182858161237e5761237d6139a0565b5b04018161238e5761238d6139a0565b5b049050612360565b50919050565b5f6401000276a373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161015801561241d575073fffd8963efd1fc6a506488495d951d5263988d2673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16105b61245c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612453906140de565b60405180910390fd5b5f60208373ffffffffffffffffffffffffffffffffffffffff16901b90505f8190505f6fffffffffffffffffffffffffffffffff821160071b808217915082811c92505067ffffffffffffffff821160061b808217915082811c92505063ffffffff821160051b808217915082811c92505061ffff821160041b808217915082811c92505060ff821160031b808217915082811c925050600f821160021b808217915082811c9250506003821160011b808217915082811c925050600182118082179150506080811061253757607f810383901c9150612541565b80607f0383901b91505b5f604060808303901b9050828302607f1c92508260801c80603f1b8217915083811c935050828302607f1c92508260801c80603e1b8217915083811c935050828302607f1c92508260801c80603d1b8217915083811c935050828302607f1c92508260801c80603c1b8217915083811c935050828302607f1c92508260801c80603b1b8217915083811c935050828302607f1c92508260801c80603a1b8217915083811c935050828302607f1c92508260801c8060391b8217915083811c935050828302607f1c92508260801c8060381b8217915083811c935050828302607f1c92508260801c8060371b8217915083811c935050828302607f1c92508260801c8060361b8217915083811c935050828302607f1c92508260801c8060351b8217915083811c935050828302607f1c92508260801c8060341b8217915083811c935050828302607f1c92508260801c8060331b8217915083811c935050828302607f1c92508260801c8060321b82179150505f693627a301d71055774c85820290505f60806f028f6481ab7f045a5af012a19d003aaa8303901d90505f60806fdb2df09e81959a81455e260799a0632f8401901d90508060020b8260020b1461274d578873ffffffffffffffffffffffffffffffffffffffff166127248261275d565b73ffffffffffffffffffffffffffffffffffffffff1611156127465781612748565b805b61274f565b815b975050505050505050919050565b5f805f8360020b12612772578260020b612779565b8260020b5f035b90507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff276185f0360020b8111156127e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127da90614146565b60405180910390fd5b5f80600183160361280557700100000000000000000000000000000000612817565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690505f60028316146128505760806ffff97272373d413259a46990580e213a8202901c90505b5f60048316146128745760806ffff2e50f5f656932ef12357cf3c7fdcc8202901c90505b5f60088316146128985760806fffe5caca7e10e4e61c3624eaa0941cd08202901c90505b5f60108316146128bc5760806fffcb9843d60f6159c9db58835c9266448202901c90505b5f60208316146128e05760806fff973b41fa98c081472e6896dfb254c08202901c90505b5f60408316146129045760806fff2ea16466c96a3843ec78b326b528618202901c90505b5f60808316146129285760806ffe5dee046a99a2a811c461f1969c30538202901c90505b5f61010083161461294d5760806ffcbe86c7900a88aedcffc83b479aa3a48202901c90505b5f6102008316146129725760806ff987a7253ac413176f2b074cf7815e548202901c90505b5f6104008316146129975760806ff3392b0822b70005940c7a398e4b70f38202901c90505b5f6108008316146129bc5760806fe7159475a2c29b7443b29c7fa6e889d98202901c90505b5f6110008316146129e15760806fd097f3bdfd2022b8845ad8f792aa58258202901c90505b5f612000831614612a065760806fa9f746462d870fdf8a65dc1f90e061e58202901c90505b5f614000831614612a2b5760806f70d869a156d2a1b890bb3df62baf32f78202901c90505b5f618000831614612a505760806f31be135f97d08fd981231505542fcfa68202901c90505b5f62010000831614612a765760806f09aa508b5b7a84e1c677de54f3e99bc98202901c90505b5f62020000831614612a9b5760806e5d6af8dedb81196699c329225ee6048202901c90505b5f62040000831614612abf5760806d2216e584f5fa1ea926041bedfe988202901c90505b5f62080000831614612ae15760806b048a170391f7dc42444e8fa28202901c90505b5f8460020b1315612b2057807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81612b1c57612b1b6139a0565b5b0490505b5f6401000000008281612b3657612b356139a0565b5b0614612b43576001612b45565b5f5b60ff16602082901c0192505050919050565b610d8f8061416583390190565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612b8d82612b64565b9050919050565b612b9d81612b83565b82525050565b5f602082019050612bb65f830184612b94565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f612bfe82612bbc565b612c088185612bc6565b9350612c18818560208601612bd6565b612c2181612be4565b840191505092915050565b5f6020820190508181035f830152612c448184612bf4565b905092915050565b5f819050919050565b612c5e81612c4c565b82525050565b5f602082019050612c775f830184612c55565b92915050565b5f604051905090565b5f80fd5b5f80fd5b612c9781612b83565b8114612ca1575f80fd5b50565b5f81359050612cb281612c8e565b92915050565b612cc181612c4c565b8114612ccb575f80fd5b50565b5f81359050612cdc81612cb8565b92915050565b5f8060408385031215612cf857612cf7612c86565b5b5f612d0585828601612ca4565b9250506020612d1685828601612cce565b9150509250929050565b5f8115159050919050565b612d3481612d20565b82525050565b5f602082019050612d4d5f830184612d2b565b92915050565b5f805f60608486031215612d6a57612d69612c86565b5b5f612d7786828701612ca4565b9350506020612d8886828701612ca4565b9250506040612d9986828701612cce565b9150509250925092565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b612de182612be4565b810181811067ffffffffffffffff82111715612e0057612dff612dab565b5b80604052505050565b5f612e12612c7d565b9050612e1e8282612dd8565b919050565b5f67ffffffffffffffff821115612e3d57612e3c612dab565b5b612e4682612be4565b9050602081019050919050565b828183375f83830152505050565b5f612e73612e6e84612e23565b612e09565b905082815260208101848484011115612e8f57612e8e612da7565b5b612e9a848285612e53565b509392505050565b5f82601f830112612eb657612eb5612da3565b5b8135612ec6848260208601612e61565b91505092915050565b5f805f805f805f805f6101208a8c031215612eed57612eec612c86565b5b5f612efa8c828d01612ca4565b99505060208a013567ffffffffffffffff811115612f1b57612f1a612c8a565b5b612f278c828d01612ea2565b98505060408a013567ffffffffffffffff811115612f4857612f47612c8a565b5b612f548c828d01612ea2565b9750506060612f658c828d01612cce565b9650506080612f768c828d01612cce565b95505060a0612f878c828d01612cce565b94505060c0612f988c828d01612cce565b93505060e0612fa98c828d01612cce565b925050610100612fbb8c828d01612cce565b9150509295985092959850929598565b5f60ff82169050919050565b612fe081612fcb565b82525050565b5f602082019050612ff95f830184612fd7565b92915050565b5f80fd5b5f80fd5b5f8083601f84011261301c5761301b612da3565b5b8235905067ffffffffffffffff81111561303957613038612fff565b5b60208301915083600182028301111561305557613054613003565b5b9250929050565b5f805f806060858703121561307457613073612c86565b5b5f61308187828801612ca4565b945050602061309287828801612cce565b935050604085013567ffffffffffffffff8111156130b3576130b2612c8a565b5b6130bf87828801613007565b925092505092959194509250565b5f602082840312156130e2576130e1612c86565b5b5f6130ef84828501612ca4565b91505092915050565b5f806040838503121561310e5761310d612c86565b5b5f61311b85828601612ca4565b925050602061312c85828601612ca4565b9150509250929050565b5f805f805f60a0868803121561314f5761314e612c86565b5b5f86013567ffffffffffffffff81111561316c5761316b612c8a565b5b61317888828901612ea2565b955050602086013567ffffffffffffffff81111561319957613198612c8a565b5b6131a588828901612ea2565b945050604086013567ffffffffffffffff8111156131c6576131c5612c8a565b5b6131d288828901612ea2565b935050606086013567ffffffffffffffff8111156131f3576131f2612c8a565b5b6131ff88828901612ea2565b925050608086013567ffffffffffffffff8111156132205761321f612c8a565b5b61322c88828901612ea2565b9150509295509295909350565b5f60608201905061324c5f830186612c55565b6132596020830185612c55565b6132666040830184612d2b565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806132b257607f821691505b6020821081036132c5576132c461326e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026133277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826132ec565b61333186836132ec565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61336c61336761336284612c4c565b613349565b612c4c565b9050919050565b5f819050919050565b61338583613352565b61339961339182613373565b8484546132f8565b825550505050565b5f90565b6133ad6133a1565b6133b881848461337c565b505050565b5b818110156133db576133d05f826133a5565b6001810190506133be565b5050565b601f821115613420576133f1816132cb565b6133fa846132dd565b81016020851015613409578190505b61341d613415856132dd565b8301826133bd565b50505b505050565b5f82821c905092915050565b5f6134405f1984600802613425565b1980831691505092915050565b5f6134588383613431565b9150826002028217905092915050565b61347182612bbc565b67ffffffffffffffff81111561348a57613489612dab565b5b613494825461329b565b61349f8282856133df565b5f60209050601f8311600181146134d0575f84156134be578287015190505b6134c8858261344d565b86555061352f565b601f1984166134de866132cb565b5f5b82811015613505578489015182556001820191506020850194506020810190506134e0565b86831015613522578489015161351e601f891682613431565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61356e82612c4c565b915061357983612c4c565b925082820190508082111561359157613590613537565b5b92915050565b5f81905092915050565b5f6135ab82612bbc565b6135b58185613597565b93506135c5818560208601612bd6565b80840191505092915050565b7f20455448000000000000000000000000000000000000000000000000000000005f82015250565b5f613605600483613597565b9150613610826135d1565b600482019050919050565b5f61362682846135a1565b9150613631826135f9565b915081905092915050565b5f82825260208201905092915050565b5f613657838561363c565b9350613664838584612e53565b61366d83612be4565b840190509392505050565b5f60608201905061368b5f830187612b94565b6136986020830186612c55565b81810360408301526136ab81848661364c565b905095945050505050565b6136bf81612d20565b81146136c9575f80fd5b50565b5f815190506136da816136b6565b92915050565b5f602082840312156136f5576136f4612c86565b5b5f613702848285016136cc565b91505092915050565b5f8151905061371981612c8e565b92915050565b5f6020828403121561373457613733612c86565b5b5f6137418482850161370b565b91505092915050565b61375381612c4c565b82525050565b61376281612b83565b82525050565b5f6fffffffffffffffffffffffffffffffff82169050919050565b61378c81613768565b82525050565b608082015f8201516137a65f85018261374a565b5060208201516137b96020850182613759565b5060408201516137cc6040850182613783565b5060608201516137df6060850182613783565b50505050565b5f6080820190506137f85f830184613792565b92915050565b5f8151905061380c81612cb8565b92915050565b5f806040838503121561382857613827612c86565b5b5f613835858286016137fe565b9250506020613846858286016137fe565b9150509250929050565b5f61385a82612c4c565b915061386583612c4c565b925082820261387381612c4c565b9150828204841483151761388a57613889613537565b5b5092915050565b7f25000000000000000000000000000000000000000000000000000000000000005f82015250565b5f6138c5600183613597565b91506138d082613891565b600182019050919050565b5f6138e682846135a1565b91506138f1826138b9565b915081905092915050565b5f819050919050565b5f62ffffff82169050919050565b5f61392d613928613923846138fc565b613349565b613905565b9050919050565b61393d81613913565b82525050565b5f6060820190506139565f830186612b94565b6139636020830185612b94565b6139706040830184613934565b949350505050565b61398181612b64565b82525050565b5f60208201905061399a5f830184613978565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b6139d681613905565b82525050565b5f8160020b9050919050565b6139f1816139dc565b82525050565b61016082015f820151613a0c5f850182613759565b506020820151613a1f6020850182613759565b506040820151613a3260408501826139cd565b506060820151613a4560608501826139e8565b506080820151613a5860808501826139e8565b5060a0820151613a6b60a085018261374a565b5060c0820151613a7e60c085018261374a565b5060e0820151613a9160e085018261374a565b50610100820151613aa661010085018261374a565b50610120820151613abb610120850182613759565b50610140820151613ad061014085018261374a565b50505050565b5f61016082019050613aea5f8301846139f7565b92915050565b613af981613768565b8114613b03575f80fd5b50565b5f81519050613b1481613af0565b92915050565b5f805f8060808587031215613b3257613b31612c86565b5b5f613b3f878288016137fe565b9450506020613b5087828801613b06565b9350506040613b61878288016137fe565b9250506060613b72878288016137fe565b91505092959194509250565b613b8781612b64565b82525050565b60e082015f820151613ba15f850182613759565b506020820151613bb46020850182613759565b506040820151613bc760408501826139cd565b506060820151613bda6060850182613759565b506080820151613bed608085018261374a565b5060a0820151613c0060a085018261374a565b5060c0820151613c1360c0850182613b7e565b50505050565b5f60e082019050613c2c5f830184613b8d565b92915050565b5f60208284031215613c4757613c46612c86565b5b5f613c54848285016137fe565b91505092915050565b5f613c6782612c4c565b9150613c7283612c4c565b9250828203905081811115613c8a57613c89613537565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115613ce557808604811115613cc157613cc0613537565b5b6001851615613cd05780820291505b8081029050613cde85613c90565b9450613ca5565b94509492505050565b5f82613cfd5760019050613db8565b81613d0a575f9050613db8565b8160018114613d205760028114613d2a57613d59565b6001915050613db8565b60ff841115613d3c57613d3b613537565b5b8360020a915084821115613d5357613d52613537565b5b50613db8565b5060208310610133831016604e8410600b8410161715613d8e5782820a905083811115613d8957613d88613537565b5b613db8565b613d9b8484846001613c9c565b92509050818404811115613db257613db1613537565b5b81810290505b9392505050565b5f613dc982612c4c565b9150613dd483612c4c565b9250613e017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484613cee565b905092915050565b5f613e1382612c4c565b9150613e1e83612c4c565b925082613e2e57613e2d6139a0565b5b828204905092915050565b5f613e4382612c4c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613e7557613e74613537565b5b600182019050919050565b5f613e8a82612c4c565b9150613e9583612c4c565b925082613ea557613ea46139a0565b5b828206905092915050565b5f613eba82612fcb565b9150613ec583612fcb565b9250828201905060ff811115613ede57613edd613537565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f613f1c82856135a1565b9150613f2882846135a1565b91508190509392505050565b7f2c000000000000000000000000000000000000000000000000000000000000005f82015250565b5f613f68600183613597565b9150613f7382613f34565b600182019050919050565b5f613f8982846135a1565b9150613f9482613f5c565b915081905092915050565b7f2e000000000000000000000000000000000000000000000000000000000000005f82015250565b5f613fd3600183613597565b9150613fde82613f9f565b600182019050919050565b5f613ff482846135a1565b9150613fff82613fc7565b915081905092915050565b5f614014826139dc565b915061401f836139dc565b92508261402f5761402e6139a0565b5b828207905092915050565b5f614044826139dc565b915061404f836139dc565b92508282039050627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008212171561408e5761408d613537565b5b92915050565b7f52000000000000000000000000000000000000000000000000000000000000005f82015250565b5f6140c8600183612bc6565b91506140d382614094565b602082019050919050565b5f6020820190508181035f8301526140f5816140bc565b9050919050565b7f54000000000000000000000000000000000000000000000000000000000000005f82015250565b5f614130600183612bc6565b915061413b826140fc565b602082019050919050565b5f6020820190508181035f83015261415d81614124565b905091905056fe6080604052348015600e575f80fd5b50610d738061001c5f395ff3fe60806040526004361061007e575f3560e01c8063894760691161004d578063894760691461011c578063c4d66de814610144578063e086e5ec1461016c578063fc0c546a1461018257610085565b80633a98ef3914610089578063476343ee146100b35780634c02f62e146100c957806357a858fc146100df57610085565b3661008557005b5f80fd5b348015610094575f80fd5b5061009d6101ac565b6040516100aa91906108ad565b60405180910390f35b3480156100be575f80fd5b506100c76101b2565b005b3480156100d4575f80fd5b506100dd6101e6565b005b3480156100ea575f80fd5b50610105600480360381019061010091906108f4565b610271565b60405161011392919061095e565b60405180910390f35b348015610127575f80fd5b50610142600480360381019061013d91906109d1565b6102be565b005b34801561014f575f80fd5b5061016a60048036038101906101659190610a26565b61062c565b005b348015610177575f80fd5b506101806106a6565b005b34801561018d575f80fd5b506101966107b2565b6040516101a39190610aac565b60405180910390f35b60015481565b6101ba6101e6565b6101e460025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166102be565b565b61026f7368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610246573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026a9190610ad9565b6102be565b565b5f818154811061027f575f80fd5b905f5260205f2090600202015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b5f7368b3465833fb72a70ecdf485e0e4c7bd8665fc4573ffffffffffffffffffffffffffffffffffffffff16634aa4a4fc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561031c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103409190610ad9565b90508073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361045f578073ffffffffffffffffffffffffffffffffffffffff16632e1a7d4d8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016103ca9190610b13565b602060405180830381865afa1580156103e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104099190610b40565b6040518263ffffffff1660e01b815260040161042591906108ad565b5f604051808303815f87803b15801561043c575f80fd5b505af115801561044e573d5f803e3d5ffd5b5050505061045a6106a6565b610628565b5f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104999190610b13565b602060405180830381865afa1580156104b4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d89190610b40565b90505f811115610626575f5b5f80549050811015610624575f80828154811061050457610503610b6b565b5b905f5260205f2090600202016040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160018201548152505090508473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb825f01516001548460200151876105ae9190610bc5565b6105b89190610c33565b6040518363ffffffff1660e01b81526004016105d5929190610c83565b6020604051808303815f875af11580156105f1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106159190610cdf565b505080806001019150506104e4565b505b505b5050565b5f60015414610639575f80fd5b3360025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506106848160016107d7565b6106a37377975bed9e6a74471e269c6df3707961e43680dc60636107d7565b50565b5f4790505f8111156107af575f5b5f805490508110156107ad575f8082815481106106d4576106d3610b6b565b5b905f5260205f2090600202016040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820154815250509050805f015173ffffffffffffffffffffffffffffffffffffffff166108fc60015483602001518661077b9190610bc5565b6107859190610c33565b90811502906040515f60405180830381858888f19350505050505080806001019150506106b4565b505b50565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff16815260200183815250908060018154018082558091505060019003905f5260205f2090600202015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015550508060015f82825461088a9190610d0a565b925050819055505050565b5f819050919050565b6108a781610895565b82525050565b5f6020820190506108c05f83018461089e565b92915050565b5f80fd5b6108d381610895565b81146108dd575f80fd5b50565b5f813590506108ee816108ca565b92915050565b5f60208284031215610909576109086108c6565b5b5f610916848285016108e0565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6109488261091f565b9050919050565b6109588161093e565b82525050565b5f6040820190506109715f83018561094f565b61097e602083018461089e565b9392505050565b5f61098f8261091f565b9050919050565b5f6109a082610985565b9050919050565b6109b081610996565b81146109ba575f80fd5b50565b5f813590506109cb816109a7565b92915050565b5f602082840312156109e6576109e56108c6565b5b5f6109f3848285016109bd565b91505092915050565b610a0581610985565b8114610a0f575f80fd5b50565b5f81359050610a20816109fc565b92915050565b5f60208284031215610a3b57610a3a6108c6565b5b5f610a4884828501610a12565b91505092915050565b5f819050919050565b5f610a74610a6f610a6a8461091f565b610a51565b61091f565b9050919050565b5f610a8582610a5a565b9050919050565b5f610a9682610a7b565b9050919050565b610aa681610a8c565b82525050565b5f602082019050610abf5f830184610a9d565b92915050565b5f81519050610ad3816109fc565b92915050565b5f60208284031215610aee57610aed6108c6565b5b5f610afb84828501610ac5565b91505092915050565b610b0d81610985565b82525050565b5f602082019050610b265f830184610b04565b92915050565b5f81519050610b3a816108ca565b92915050565b5f60208284031215610b5557610b546108c6565b5b5f610b6284828501610b2c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610bcf82610895565b9150610bda83610895565b9250828202610be881610895565b91508282048414831517610bff57610bfe610b98565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610c3d82610895565b9150610c4883610895565b925082610c5857610c57610c06565b5b828204905092915050565b5f610c6d82610a7b565b9050919050565b610c7d81610c63565b82525050565b5f604082019050610c965f830185610c74565b610ca3602083018461089e565b9392505050565b5f8115159050919050565b610cbe81610caa565b8114610cc8575f80fd5b50565b5f81519050610cd981610cb5565b92915050565b5f60208284031215610cf457610cf36108c6565b5b5f610d0184828501610ccb565b91505092915050565b5f610d1482610895565b9150610d1f83610895565b9250828201905080821115610d3757610d36610b98565b5b9291505056fea2646970667358221220b889db1254556eb22f3464219e921819d8f0fcb4f698bcc11b669245aac9c3ad64736f6c634300081a0033a26469706673582212203bf743d2ac1699af4957579268d85626427343a863ea7d348dbebb9e05142e0d64736f6c634300081a0033