[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "uint256", "name": "bnum", "type": "uint256" }, { "internalType": "address", "name": "_address", "type": "address" } ], "name": "MixAddrandSpBlock", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "name": "balances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "daoNFTprice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getEthBalance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "getNFTzBelongingToOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getdaoindexfromtokenid", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "isadaotoken", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "isuserwinner", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokens", "type": "uint256" } ], "name": "isyinyang", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "lpb", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxDAOWNER", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxNFT", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxbetAM", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minbetAM", "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": "newTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "paycounter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseURI", "type": "string" } ], "name": "setbaseURIBLUE", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "baseURI", "type": "string" } ], "name": "setbaseURIGREEN", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setdaoTokenPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setmaxDAOWNER", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setmaxNFT", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setmaxPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newPrice", "type": "uint256" } ], "name": "setminPrice", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "v", "type": "uint256" } ], "name": "uintToString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_wamount", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_oddeven", "type": "uint256" } ], "name": "yinyang", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080604052611a0a601055606460115560006012556801a055690d9db8000060135566038d7ea4c68000601455670de0b6b3a7640000601555436017556040518060a001604052806061815260200162005e4460619139601b90805190602001906200006d92919062000287565b506040518060a001604052806063815260200162005ea560639139601c90805190602001906200009f92919062000287565b506040518060a001604052806062815260200162005f0860629139601d9080519060200190620000d192919062000287565b50348015620000df57600080fd5b506040518060400160405280600781526020017f5032313644414f000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f5032313644414f0000000000000000000000000000000000000000000000000081525060006200015e6200027f60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35081600190805190602001906200021492919062000287565b5080600290805190602001906200022d92919062000287565b5050506001600f8190555033601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200039c565b600033905090565b828054620002959062000337565b90600052602060002090601f016020900481019282620002b9576000855562000305565b82601f10620002d457805160ff191683800117855562000305565b8280016001018555821562000305579182015b8281111562000304578251825591602001919060010190620002e7565b5b50905062000314919062000318565b5090565b5b808211156200033357600081600090555060010162000319565b5090565b600060028204905060018216806200035057607f821691505b602082108114156200036757620003666200036d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b615a9880620003ac6000396000f3fe6080604052600436106102815760003560e01c806370a082311161014f578063b8aea6c6116100c1578063e93956791161007a578063e939567914610c7c578063e985e9c514610cb9578063e98da4a614610cf6578063f2fde38b14610d1f578063f8a3acf414610d48578063fd6cba4614610d8557610517565b8063b8aea6c614610b5a578063bcacabe914610b83578063c211bf8014610bc0578063c87b56dd14610beb578063e456b01c14610c28578063e71a38d214610c5357610517565b80638da5cb5b116101135780638da5cb5b14610a5c5780638e7e13e314610a8757806395d89b4114610ab25780639feae8fe14610add578063a22cb46514610b08578063b88d4fde14610b3157610517565b806370a082311461098b57806370ed0ada146109c8578063715018a6146109f35780638621075914610a0a5780638bc47b0314610a3357610517565b806323b872dd116101f357806342842e0e116101ac57806342842e0e1461086957806343ad2310146108925780634f6ccce7146108bd57806350acd339146108fa57806355f804b3146109255780636352211e1461094e57610517565b806323b872dd146107495780632afd97a4146107725780632e1a7d4d146107af5780632e5f0822146107d85780632f745c5914610801578063340754ed1461083e57610517565b806318160ddd1161024557806318160ddd146106275780631db8f52314610652578063207f3db51461068f57806320a43973146106cc57806321212472146106f757806322862a521461072057610517565b806301ffc9a71461051c57806306fdde0314610559578063081812fc14610584578063095ea7b3146105c15780630dcce57c146105ea57610517565b3661051757601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146105155760135434141561035b57601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015801561034d573d6000803e3d6000fd5b50610356610dc2565b610514565b601554341115801561036f57506014543410155b1561050e57436017541461043f5760005b601860006017548152602001908152602001600020805490508110156104365761042360175460186000601754815260200190815260200160002083815481106103f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610f46565b808061042e906158bf565b915050610380565b50436017819055505b600064174876e80064e8d4a51000346104589190615908565b6104629190615718565b905061046d3461176d565b8015610484575060018114806104835750600281145b5b156105085760186000438152602001908152602001600020339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061050734826117c1565b5b50610513565b600080fd5b5b5b005b600080fd5b34801561052857600080fd5b50610543600480360381019061053e91906148b7565b611837565b60405161055091906152fd565b60405180910390f35b34801561056557600080fd5b5061056e611849565b60405161057b9190615318565b60405180910390f35b34801561059057600080fd5b506105ab60048036038101906105a6919061494a565b6118db565b6040516105b89190615274565b60405180910390f35b3480156105cd57600080fd5b506105e860048036038101906105e3919061487b565b611960565b005b3480156105f657600080fd5b50610611600480360381019061060c919061494a565b611a78565b60405161061e919061559a565b60405180910390f35b34801561063357600080fd5b5061063c611a90565b604051610649919061559a565b60405180910390f35b34801561065e57600080fd5b506106796004803603810190610674919061494a565b611a9d565b60405161068691906152fd565b60405180910390f35b34801561069b57600080fd5b506106b660048036038101906106b1919061494a565b611abd565b6040516106c391906152fd565b60405180910390f35b3480156106d857600080fd5b506106e1611add565b6040516106ee919061559a565b60405180910390f35b34801561070357600080fd5b5061071e6004803603810190610719919061494a565b611ae3565b005b34801561072c57600080fd5b506107476004803603810190610742919061494a565b611b69565b005b34801561075557600080fd5b50610770600480360381019061076b9190614775565b611bef565b005b34801561077e57600080fd5b5061079960048036038101906107949190614909565b611c4f565b6040516107a6919061559a565b60405180910390f35b3480156107bb57600080fd5b506107d660048036038101906107d1919061494a565b611c7d565b005b3480156107e457600080fd5b506107ff60048036038101906107fa9190614909565b611d43565b005b34801561080d57600080fd5b506108286004803603810190610823919061487b565b611dd9565b604051610835919061559a565b60405180910390f35b34801561084a57600080fd5b50610853611e7e565b604051610860919061559a565b60405180910390f35b34801561087557600080fd5b50610890600480360381019061088b9190614775565b611e84565b005b34801561089e57600080fd5b506108a7611ea4565b6040516108b4919061559a565b60405180910390f35b3480156108c957600080fd5b506108e460048036038101906108df919061494a565b611eaa565b6040516108f1919061559a565b60405180910390f35b34801561090657600080fd5b5061090f611f41565b60405161091c919061559a565b60405180910390f35b34801561093157600080fd5b5061094c60048036038101906109479190614909565b611f47565b005b34801561095a57600080fd5b506109756004803603810190610970919061494a565b611fdd565b6040516109829190615274565b60405180910390f35b34801561099757600080fd5b506109b260048036038101906109ad9190614710565b61208f565b6040516109bf919061559a565b60405180910390f35b3480156109d457600080fd5b506109dd612147565b6040516109ea919061559a565b60405180910390f35b3480156109ff57600080fd5b50610a0861214f565b005b348015610a1657600080fd5b50610a316004803603810190610a2c9190614909565b612289565b005b348015610a3f57600080fd5b50610a5a6004803603810190610a5591906149af565b6117c1565b005b348015610a6857600080fd5b50610a7161231f565b604051610a7e9190615274565b60405180910390f35b348015610a9357600080fd5b50610a9c612348565b604051610aa9919061559a565b60405180910390f35b348015610abe57600080fd5b50610ac761234e565b604051610ad49190615318565b60405180910390f35b348015610ae957600080fd5b50610af26123e0565b604051610aff919061559a565b60405180910390f35b348015610b1457600080fd5b50610b2f6004803603810190610b2a919061483f565b6123e6565b005b348015610b3d57600080fd5b50610b586004803603810190610b5391906147c4565b612567565b005b348015610b6657600080fd5b50610b816004803603810190610b7c919061494a565b6125c9565b005b348015610b8f57600080fd5b50610baa6004803603810190610ba59190614973565b61264f565b604051610bb79190615318565b60405180910390f35b348015610bcc57600080fd5b50610bd561267b565b604051610be2919061559a565b60405180910390f35b348015610bf757600080fd5b50610c126004803603810190610c0d919061494a565b612681565b604051610c1f9190615318565b60405180910390f35b348015610c3457600080fd5b50610c3d612969565b604051610c4a919061559a565b60405180910390f35b348015610c5f57600080fd5b50610c7a6004803603810190610c75919061494a565b61296f565b005b348015610c8857600080fd5b50610ca36004803603810190610c9e919061494a565b6129f5565b604051610cb09190615318565b60405180910390f35b348015610cc557600080fd5b50610ce06004803603810190610cdb9190614739565b612c94565b604051610ced91906152fd565b60405180910390f35b348015610d0257600080fd5b50610d1d6004803603810190610d18919061494a565b612d28565b005b348015610d2b57600080fd5b50610d466004803603810190610d419190614710565b612dae565b005b348015610d5457600080fd5b50610d6f6004803603810190610d6a919061494a565b61176d565b604051610d7c91906152fd565b60405180910390f35b348015610d9157600080fd5b50610dac6004803603810190610da79190614710565b612f57565b604051610db991906152db565b60405180910390f35b6002600f541415610e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dff9061557a565b60405180910390fd5b6002600f819055506011546007805490501115610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e519061539a565b60405180910390fd5b6007339080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d6000828254610ed091906156c2565b925050819055506001600780549050610ee991906157a3565b60086000600d54815260200190815260200160002081905550600160096000600d54815260200190815260200160002060006101000a81548160ff021916908315150217905550610f3c33600d546130d3565b6001600f81905550565b60006019610f54848461264f565b604051610f61919061522e565b90815260200160405180910390205414158015610f8b575060011515610f8783836130f1565b1515145b1561175e57600060078054905014156110cf576000610fdb60026019610fb1868661264f565b604051610fbe919061522e565b9081526020016040518091039020546131d690919063ffffffff16565b9050610ff160648261324590919063ffffffff16565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611043600f846131d690919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561106e573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff166108fc61109d6055846131d690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156110c8573d6000803e3d6000fd5b5050611722565b60016007805490506110e191906157a3565b601254106113fe576000611126600260196110fc868661264f565b604051611109919061522e565b9081526020016040518091039020546131d690919063ffffffff16565b905061113c60648261324590919063ffffffff16565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61118e6005846131d690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156111b9573d6000803e3d6000fd5b50600073ffffffffffffffffffffffffffffffffffffffff1660076012548154811061120e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461131957600760125481548110611290577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6112e8600a846131d690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611313573d6000803e3d6000fd5b50611396565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611369600a846131d690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611394573d6000803e3d6000fd5b505b8173ffffffffffffffffffffffffffffffffffffffff166108fc6113c46055846131d690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156113ef573d6000803e3d6000fd5b50600060128190555050611721565b600061143b60026019611411868661264f565b60405161141e919061522e565b9081526020016040518091039020546131d690919063ffffffff16565b905061145160648261324590919063ffffffff16565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6114a36005846131d690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156114ce573d6000803e3d6000fd5b50600073ffffffffffffffffffffffffffffffffffffffff16600760125481548110611523577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461162e576007601254815481106115a5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6115fd600a846131d690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611628573d6000803e3d6000fd5b506116ab565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc61167e600a846131d690919063ffffffff16565b9081150290604051600060405180830381858888f193505050501580156116a9573d6000803e3d6000fd5b505b8173ffffffffffffffffffffffffffffffffffffffff166108fc6116d96055846131d690919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611704573d6000803e3d6000fd5b5060016012600082825461171891906156c2565b92505081905550505b5b60006019611730848461264f565b60405161173d919061522e565b9081526020016040518091039020819055506117596001613260565b611769565b6117686000613260565b5b5050565b60008064e8d4a5100066038d7ea4c68000846117899190615908565b6117939190615718565b905061014e811080156117a7575061014c81115b156117b65760019150506117bc565b60009150505b919050565b60018114806117d05750600281145b1561183357600060196117e3433361264f565b6040516117f0919061522e565b908152602001604051809103902054141561183257816019611812433361264f565b60405161181f919061522e565b9081526020016040518091039020819055505b5b5050565b600061184282613348565b9050919050565b6060600180546118589061588d565b80601f01602080910402602001604051908101604052809291908181526020018280546118849061588d565b80156118d15780601f106118a6576101008083540402835291602001916118d1565b820191906000526020600020905b8154815290600101906020018083116118b457829003601f168201915b5050505050905090565b60006118e6826133c2565b611925576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191c906154ba565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061196b82611fdd565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d39061551a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166119fb61342e565b73ffffffffffffffffffffffffffffffffffffffff161480611a2a5750611a2981611a2461342e565b612c94565b5b611a69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a609061543a565b60405180910390fd5b611a738383613436565b505050565b60086020528060005260406000206000915090505481565b6000600c80549050905090565b60096020528060005260406000206000915054906101000a900460ff1681565b601a6020528060005260406000206000915054906101000a900460ff1681565b60125481565b611aeb61342e565b73ffffffffffffffffffffffffffffffffffffffff16611b0961231f565b73ffffffffffffffffffffffffffffffffffffffff1614611b5f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b56906154da565b60405180910390fd5b8060158190555050565b611b7161342e565b73ffffffffffffffffffffffffffffffffffffffff16611b8f61231f565b73ffffffffffffffffffffffffffffffffffffffff1614611be5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bdc906154da565b60405180910390fd5b8060138190555050565b611c00611bfa61342e565b826134ef565b611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c369061553a565b60405180910390fd5b611c4a8383836135cd565b505050565b6019818051602081018201805184825260208301602085012081835280955050505050506000915090505481565b611c8561342e565b73ffffffffffffffffffffffffffffffffffffffff16611ca361231f565b73ffffffffffffffffffffffffffffffffffffffff1614611cf9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cf0906154da565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611d3f573d6000803e3d6000fd5b5050565b611d4b61342e565b73ffffffffffffffffffffffffffffffffffffffff16611d6961231f565b73ffffffffffffffffffffffffffffffffffffffff1614611dbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db6906154da565b60405180910390fd5b80601d9080519060200190611dd5929190614534565b5050565b6000611de48361208f565b8210611e25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1c9061533a565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b600d5481565b611e9f83838360405180602001604052806000815250612567565b505050565b60175481565b6000611eb4611a90565b8210611ef5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eec9061555a565b60405180910390fd5b600c8281548110611f2f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b60135481565b611f4f61342e565b73ffffffffffffffffffffffffffffffffffffffff16611f6d61231f565b73ffffffffffffffffffffffffffffffffffffffff1614611fc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fba906154da565b60405180910390fd5b80601b9080519060200190611fd9929190614534565b5050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612086576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207d9061547a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612100576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f79061545a565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600047905090565b61215761342e565b73ffffffffffffffffffffffffffffffffffffffff1661217561231f565b73ffffffffffffffffffffffffffffffffffffffff16146121cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121c2906154da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61229161342e565b73ffffffffffffffffffffffffffffffffffffffff166122af61231f565b73ffffffffffffffffffffffffffffffffffffffff1614612305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122fc906154da565b60405180910390fd5b80601c908051906020019061231b929190614534565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60115481565b60606002805461235d9061588d565b80601f01602080910402602001604051908101604052809291908181526020018280546123899061588d565b80156123d65780601f106123ab576101008083540402835291602001916123d6565b820191906000526020600020905b8154815290600101906020018083116123b957829003601f168201915b5050505050905090565b60145481565b6123ee61342e565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561245c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612453906153fa565b60405180910390fd5b806006600061246961342e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661251661342e565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161255b91906152fd565b60405180910390a35050565b61257861257261342e565b836134ef565b6125b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ae9061553a565b60405180910390fd5b6125c38484848461390a565b50505050565b6125d161342e565b73ffffffffffffffffffffffffffffffffffffffff166125ef61231f565b73ffffffffffffffffffffffffffffffffffffffff1614612645576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263c906154da565b60405180910390fd5b8060148190555050565b606061267361266561266084613966565b6129f5565b61266e856129f5565b61399b565b905092915050565b60155481565b6060600115156009600084815260200190815260200160002060009054906101000a900460ff1615151415612789576000601d80546126bf9061588d565b80601f01602080910402602001604051908101604052809291908181526020018280546126eb9061588d565b80156127385780601f1061270d57610100808354040283529160200191612738565b820191906000526020600020905b81548152906001019060200180831161271b57829003601f168201915b50505050509050600061274a846139c7565b9050600082511415612760578092505050612964565b81604051602001612771919061522e565b60405160208183030381529060405292505050612964565b60011515601a600084815260200190815260200160002060009054906101000a900460ff161515141561288f576000601c80546127c59061588d565b80601f01602080910402602001604051908101604052809291908181526020018280546127f19061588d565b801561283e5780601f106128135761010080835404028352916020019161283e565b820191906000526020600020905b81548152906001019060200180831161282157829003601f168201915b505050505090506000612850846139c7565b9050600082511415612866578092505050612964565b81604051602001612877919061522e565b60405160208183030381529060405292505050612964565b6000601b805461289e9061588d565b80601f01602080910402602001604051908101604052809291908181526020018280546128ca9061588d565b80156129175780601f106128ec57610100808354040283529160200191612917565b820191906000526020600020905b8154815290600101906020018083116128fa57829003601f168201915b505050505090506000612929846139c7565b905060008251141561293f578092505050612964565b81604051602001612950919061522e565b604051602081830303815290604052925050505b919050565b60105481565b61297761342e565b73ffffffffffffffffffffffffffffffffffffffff1661299561231f565b73ffffffffffffffffffffffffffffffffffffffff16146129eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e2906154da565b60405180910390fd5b8060108190555050565b606060006064905060008167ffffffffffffffff811115612a3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612a715781602001600182028036833780820191505090505b50905060005b60008514612b29576000600a86612a8e9190615908565b9050600a86612a9d9190615718565b9550806030612aac91906156c2565b60f81b838380612abb906158bf565b945081518110612af4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535050612a77565b60008167ffffffffffffffff811115612b6b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612b9d5781602001600182028036833780820191505090505b50905060005b82811015612c81578360018285612bba91906157a3565b612bc491906157a3565b81518110612bfb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602001015160f81c60f81b828281518110612c3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508080612c79906158bf565b915050612ba3565b5060008190508095505050505050919050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b612d3061342e565b73ffffffffffffffffffffffffffffffffffffffff16612d4e61231f565b73ffffffffffffffffffffffffffffffffffffffff1614612da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9b906154da565b60405180910390fd5b8060118190555050565b612db661342e565b73ffffffffffffffffffffffffffffffffffffffff16612dd461231f565b73ffffffffffffffffffffffffffffffffffffffff1614612e2a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e21906154da565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612e9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e919061537a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60606000612f648361208f565b90506000811415612fe757600067ffffffffffffffff811115612fb0577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015612fde5781602001602082028036833780820191505090505b509150506130ce565b60008167ffffffffffffffff811115613029577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156130575781602001602082028036833780820191505090505b50905060005b828110156130c75761306f8582611dd9565b8282815181106130a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080806130bf906158bf565b91505061305d565b5080925050505b919050565b6130ed828260405180602001604052806000815250613b74565b5050565b600060c88360014361310391906157a3565b61310d91906157a3565b10156131cb576000600260018561312491906156c2565b4060001c6131329190615908565b9050600064174876e80064e8d4a51000601961314e888861264f565b60405161315b919061522e565b9081526020016040518091039020546131749190615908565b61317e9190615718565b90506000821480156131905750600281145b156131a0576001925050506131d0565b6001821480156131b05750600181145b156131c0576001925050506131d0565b6000925050506131d0565b600090505b92915050565b6000808314156131e9576000905061323f565b600082846131f79190615749565b90508284826132069190615718565b1461323a577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b809150505b92915050565b60008082846132549190615718565b90508091505092915050565b6002600f5414156132a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329d9061557a565b60405180910390fd5b6002600f8190555060006132b8611a90565b90506010546001826132ca91906156c2565b1161333c576001600d60008282546132e291906156c2565b92505081905550811561332e576001601a6000600d54815260200190815260200160002060006101000a81548160ff02191690831515021790555061332933600d546130d3565b61333b565b61333a33600d546130d3565b5b5b506001600f8190555050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806133bb57506133ba82613bcf565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166134a983611fdd565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006134fa826133c2565b613539576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135309061541a565b60405180910390fd5b600061354483611fdd565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806135b357508373ffffffffffffffffffffffffffffffffffffffff1661359b846118db565b73ffffffffffffffffffffffffffffffffffffffff16145b806135c457506135c38185612c94565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166135ed82611fdd565b73ffffffffffffffffffffffffffffffffffffffff1614613643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161363a906154fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156136b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136aa906153da565b60405180910390fd5b6136be838383613cb1565b6136c9600082613436565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461371991906157a3565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461377091906156c2565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506137e88273ffffffffffffffffffffffffffffffffffffffff16613cc1565b6138aa576009600082815260200190815260200160002060009054906101000a900460ff16156138a957816007600860008481526020019081526020016000205481548110613860577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61391684848484613cd4565b613955576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161394c9061535a565b60405180910390fd5b6139608484846135cd565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff1690506402540be400816139939190615908565b915050919050565b606082826040516020016139b0929190615245565b604051602081830303815290604052905092915050565b60606000821415613a0f576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613b6f565b600082905060005b60008214613a41578080613a2a906158bf565b915050600a82613a3a9190615718565b9150613a17565b60008167ffffffffffffffff811115613a83577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015613ab55781602001600182028036833780820191505090505b5090505b60008514613b6857600182613ace91906157a3565b9150600a85613add9190615908565b6030613ae991906156c2565b60f81b818381518110613b25577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85613b619190615718565b9450613ab9565b8093505050505b919050565b613b816000848484613cd4565b613bc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613bb79061535a565b60405180910390fd5b613bca8383613e6b565b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613c9a57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613caa5750613ca982614039565b5b9050919050565b613cbc8383836140a3565b505050565b600080823b905060008111915050919050565b6000613cf58473ffffffffffffffffffffffffffffffffffffffff16613cc1565b15613e5e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613d1e61342e565b8786866040518563ffffffff1660e01b8152600401613d40949392919061528f565b602060405180830381600087803b158015613d5a57600080fd5b505af1925050508015613d8b57506040513d601f19601f82011682018060405250810190613d8891906148e0565b60015b613e0e573d8060008114613dbb576040519150601f19603f3d011682016040523d82523d6000602084013e613dc0565b606091505b50600081511415613e06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613dfd9061535a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613e63565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ed29061549a565b60405180910390fd5b613ee4816133c2565b15613f24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613f1b906153ba565b60405180910390fd5b613f3060008383613cb1565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613f8091906156c2565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6140ae8383836141b7565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156140f1576140ec816141bc565b614130565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461412f5761412e8382614205565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156141735761416e81614372565b6141b2565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146141b1576141b082826144b5565b5b5b505050565b505050565b600c80549050600e600083815260200190815260200160002081905550600c81908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016142128461208f565b61421c91906157a3565b90506000600b6000848152602001908152602001600020549050818114614301576000600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008481526020019081526020016000208190555081600b600083815260200190815260200160002081905550505b600b600084815260200190815260200160002060009055600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600c8054905061438691906157a3565b90506000600e60008481526020019081526020016000205490506000600c83815481106143dc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080600c8381548110614424577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600e600083815260200190815260200160002081905550600e600085815260200190815260200160002060009055600c805480614499577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006144c08361208f565b905081600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000208190555080600b600084815260200190815260200160002081905550505050565b8280546145409061588d565b90600052602060002090601f01602090048101928261456257600085556145a9565b82601f1061457b57805160ff19168380011785556145a9565b828001600101855582156145a9579182015b828111156145a857825182559160200191906001019061458d565b5b5090506145b691906145ba565b5090565b5b808211156145d35760008160009055506001016145bb565b5090565b60006145ea6145e5846155e6565b6155b5565b90508281526020810184848401111561460257600080fd5b61460d84828561584b565b509392505050565b600061462861462384615616565b6155b5565b90508281526020810184848401111561464057600080fd5b61464b84828561584b565b509392505050565b60008135905061466281615a06565b92915050565b60008135905061467781615a1d565b92915050565b60008135905061468c81615a34565b92915050565b6000815190506146a181615a34565b92915050565b600082601f8301126146b857600080fd5b81356146c88482602086016145d7565b91505092915050565b600082601f8301126146e257600080fd5b81356146f2848260208601614615565b91505092915050565b60008135905061470a81615a4b565b92915050565b60006020828403121561472257600080fd5b600061473084828501614653565b91505092915050565b6000806040838503121561474c57600080fd5b600061475a85828601614653565b925050602061476b85828601614653565b9150509250929050565b60008060006060848603121561478a57600080fd5b600061479886828701614653565b93505060206147a986828701614653565b92505060406147ba868287016146fb565b9150509250925092565b600080600080608085870312156147da57600080fd5b60006147e887828801614653565b94505060206147f987828801614653565b935050604061480a878288016146fb565b925050606085013567ffffffffffffffff81111561482757600080fd5b614833878288016146a7565b91505092959194509250565b6000806040838503121561485257600080fd5b600061486085828601614653565b925050602061487185828601614668565b9150509250929050565b6000806040838503121561488e57600080fd5b600061489c85828601614653565b92505060206148ad858286016146fb565b9150509250929050565b6000602082840312156148c957600080fd5b60006148d78482850161467d565b91505092915050565b6000602082840312156148f257600080fd5b600061490084828501614692565b91505092915050565b60006020828403121561491b57600080fd5b600082013567ffffffffffffffff81111561493557600080fd5b614941848285016146d1565b91505092915050565b60006020828403121561495c57600080fd5b600061496a848285016146fb565b91505092915050565b6000806040838503121561498657600080fd5b6000614994858286016146fb565b92505060206149a585828601614653565b9150509250929050565b600080604083850312156149c257600080fd5b60006149d0858286016146fb565b92505060206149e1858286016146fb565b9150509250929050565b60006149f78383615210565b60208301905092915050565b614a0c816157d7565b82525050565b6000614a1d82615656565b614a278185615684565b9350614a3283615646565b8060005b83811015614a63578151614a4a88826149eb565b9750614a5583615677565b925050600181019050614a36565b5085935050505092915050565b614a79816157e9565b82525050565b6000614a8a82615661565b614a948185615695565b9350614aa481856020860161585a565b614aad816159f5565b840191505092915050565b6000614ac38261566c565b614acd81856156a6565b9350614add81856020860161585a565b614ae6816159f5565b840191505092915050565b6000614afc8261566c565b614b0681856156b7565b9350614b1681856020860161585a565b80840191505092915050565b6000614b2f602b836156a6565b91507f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008301527f74206f6620626f756e64730000000000000000000000000000000000000000006020830152604082019050919050565b6000614b956032836156a6565b91507f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008301527f63656976657220696d706c656d656e74657200000000000000000000000000006020830152604082019050919050565b6000614bfb6026836156a6565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614c61601a836156a6565b91507f416c6c2064616f20746f6b656e732064697374726962757465640000000000006000830152602082019050919050565b6000614ca1601c836156a6565b91507f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006000830152602082019050919050565b6000614ce16024836156a6565b91507f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000614d476019836156a6565b91507f4552433732313a20617070726f766520746f2063616c6c6572000000000000006000830152602082019050919050565b6000614d87602c836156a6565b91507f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b6000614ded6038836156a6565b91507f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008301527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006020830152604082019050919050565b6000614e53602a836156a6565b91507f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008301527f726f2061646472657373000000000000000000000000000000000000000000006020830152604082019050919050565b6000614eb96029836156a6565b91507f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008301527f656e7420746f6b656e00000000000000000000000000000000000000000000006020830152604082019050919050565b6000614f1f6020836156a6565b91507f4552433732313a206d696e7420746f20746865207a65726f20616464726573736000830152602082019050919050565b6000614f5f602c836156a6565b91507f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008301527f697374656e7420746f6b656e00000000000000000000000000000000000000006020830152604082019050919050565b6000614fc56020836156a6565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006150056029836156a6565b91507f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008301527f73206e6f74206f776e00000000000000000000000000000000000000000000006020830152604082019050919050565b600061506b6021836156a6565b91507f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008301527f72000000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006150d16031836156a6565b91507f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008301527f776e6572206e6f7220617070726f7665640000000000000000000000000000006020830152604082019050919050565b6000615137602c836156a6565b91507f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008301527f7574206f6620626f756e647300000000000000000000000000000000000000006020830152604082019050919050565b600061519d6001836156b7565b91507f2d000000000000000000000000000000000000000000000000000000000000006000830152600182019050919050565b60006151dd601f836156a6565b91507f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006000830152602082019050919050565b61521981615841565b82525050565b61522881615841565b82525050565b600061523a8284614af1565b915081905092915050565b60006152518285614af1565b915061525c82615190565b91506152688284614af1565b91508190509392505050565b60006020820190506152896000830184614a03565b92915050565b60006080820190506152a46000830187614a03565b6152b16020830186614a03565b6152be604083018561521f565b81810360608301526152d08184614a7f565b905095945050505050565b600060208201905081810360008301526152f58184614a12565b905092915050565b60006020820190506153126000830184614a70565b92915050565b600060208201905081810360008301526153328184614ab8565b905092915050565b6000602082019050818103600083015261535381614b22565b9050919050565b6000602082019050818103600083015261537381614b88565b9050919050565b6000602082019050818103600083015261539381614bee565b9050919050565b600060208201905081810360008301526153b381614c54565b9050919050565b600060208201905081810360008301526153d381614c94565b9050919050565b600060208201905081810360008301526153f381614cd4565b9050919050565b6000602082019050818103600083015261541381614d3a565b9050919050565b6000602082019050818103600083015261543381614d7a565b9050919050565b6000602082019050818103600083015261545381614de0565b9050919050565b6000602082019050818103600083015261547381614e46565b9050919050565b6000602082019050818103600083015261549381614eac565b9050919050565b600060208201905081810360008301526154b381614f12565b9050919050565b600060208201905081810360008301526154d381614f52565b9050919050565b600060208201905081810360008301526154f381614fb8565b9050919050565b6000602082019050818103600083015261551381614ff8565b9050919050565b600060208201905081810360008301526155338161505e565b9050919050565b60006020820190508181036000830152615553816150c4565b9050919050565b600060208201905081810360008301526155738161512a565b9050919050565b60006020820190508181036000830152615593816151d0565b9050919050565b60006020820190506155af600083018461521f565b92915050565b6000604051905081810181811067ffffffffffffffff821117156155dc576155db6159c6565b5b8060405250919050565b600067ffffffffffffffff821115615601576156006159c6565b5b601f19601f8301169050602081019050919050565b600067ffffffffffffffff821115615631576156306159c6565b5b601f19601f8301169050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006156cd82615841565b91506156d883615841565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561570d5761570c615939565b5b828201905092915050565b600061572382615841565b915061572e83615841565b92508261573e5761573d615968565b5b828204905092915050565b600061575482615841565b915061575f83615841565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561579857615797615939565b5b828202905092915050565b60006157ae82615841565b91506157b983615841565b9250828210156157cc576157cb615939565b5b828203905092915050565b60006157e282615821565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561587857808201518184015260208101905061585d565b83811115615887576000848401525b50505050565b600060028204905060018216806158a557607f821691505b602082108114156158b9576158b8615997565b5b50919050565b60006158ca82615841565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156158fd576158fc615939565b5b600182019050919050565b600061591382615841565b915061591e83615841565b92508261592e5761592d615968565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b615a0f816157d7565b8114615a1a57600080fd5b50565b615a26816157e9565b8114615a3157600080fd5b50565b615a3d816157f5565b8114615a4857600080fd5b50565b615a5481615841565b8114615a5f57600080fd5b5056fea26469706673582212208054d15286ed9a8c4cb250ccd655d04832b57a5e5403f8496d1f5496d7db475964736f6c6343000800003368747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d5a38577445584a3355465952687466746741637035593676725250387961424a45466f456b454758485133672f6f726967696e616c7265642e6a736f6e68747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d5a38577445584a3355465952687466746741637035593676725250387961424a45466f456b454758485133672f6f726967696e616c677265656e2e6a736f6e68747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d5a38577445584a3355465952687466746741637035593676725250387961424a45466f456b454758485133672f6f726967696e616c626c75652e6a736f6e