TestChain Explorer

Contract

0x803b8971c8b45770edc53ebd7dc728d9573d74e5

Compiler
Runtime Bytecode
0x608060405234801561000f575f5ffd5b5060043610610086575f3560e01c8063a2e74af611610059578063a2e74af614610114578063c9c6539614610130578063e6a4390514610160578063f46901ed1461019057610086565b8063017e7e581461008a578063094b7415146100a85780631e3dd18b146100c6578063574f2ba3146100f6575b5f5ffd5b6100926101ac565b60405161009f9190610995565b60405180910390f35b6100b06101d0565b6040516100bd9190610995565b60405180910390f35b6100e060048036038101906100db91906109e5565b6101f5565b6040516100ed9190610995565b60405180910390f35b6100fe610230565b60405161010b9190610a1f565b60405180910390f35b61012e60048036038101906101299190610a62565b61023c565b005b61014a60048036038101906101459190610a8d565b61030e565b6040516101579190610995565b60405180910390f35b61017a60048036038101906101759190610a8d565b61083b565b6040516101879190610995565b60405180910390f35b6101aa60048036038101906101a59190610a62565b610878565b005b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038181548110610204575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600380549050905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102c290610b25565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361037d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037490610b8d565b60405180910390fd5b5f5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16106103b95783856103bc565b84845b915091505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361042e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042590610bf5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052a90610c5d565b60405180910390fd5b5f6040518060200161054490610949565b6020820181038252601f19601f8201166040525090505f838360405160200161056e929190610cc0565b604051602081830303815290604052805190602001209050808251602084015ff594508473ffffffffffffffffffffffffffffffffffffffff1663485cc95585856040518363ffffffff1660e01b81526004016105cc929190610ceb565b5f604051808303815f87803b1580156105e3575f5ffd5b505af11580156105f5573d5f5f3e3d5ffd5b505050508460025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600385908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e987600380549050604051610829929190610d12565b60405180910390a35050505092915050565b6002602052815f5260405f20602052805f5260405f205f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe90610b25565b60405180910390fd5b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61305680610d3a83390190565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61097f82610956565b9050919050565b61098f81610975565b82525050565b5f6020820190506109a85f830184610986565b92915050565b5f5ffd5b5f819050919050565b6109c4816109b2565b81146109ce575f5ffd5b50565b5f813590506109df816109bb565b92915050565b5f602082840312156109fa576109f96109ae565b5b5f610a07848285016109d1565b91505092915050565b610a19816109b2565b82525050565b5f602082019050610a325f830184610a10565b92915050565b610a4181610975565b8114610a4b575f5ffd5b50565b5f81359050610a5c81610a38565b92915050565b5f60208284031215610a7757610a766109ae565b5b5f610a8484828501610a4e565b91505092915050565b5f5f60408385031215610aa357610aa26109ae565b5b5f610ab085828601610a4e565b9250506020610ac185828601610a4e565b9150509250929050565b5f82825260208201905092915050565b7f464f5242494444454e00000000000000000000000000000000000000000000005f82015250565b5f610b0f600983610acb565b9150610b1a82610adb565b602082019050919050565b5f6020820190508181035f830152610b3c81610b03565b9050919050565b7f4944454e544943414c5f414444524553534553000000000000000000000000005f82015250565b5f610b77601383610acb565b9150610b8282610b43565b602082019050919050565b5f6020820190508181035f830152610ba481610b6b565b9050919050565b7f5a45524f5f4144445245535300000000000000000000000000000000000000005f82015250565b5f610bdf600c83610acb565b9150610bea82610bab565b602082019050919050565b5f6020820190508181035f830152610c0c81610bd3565b9050919050565b7f504149525f4558495354530000000000000000000000000000000000000000005f82015250565b5f610c47600b83610acb565b9150610c5282610c13565b602082019050919050565b5f6020820190508181035f830152610c7481610c3b565b9050919050565b5f8160601b9050919050565b5f610c9182610c7b565b9050919050565b5f610ca282610c87565b9050919050565b610cba610cb582610975565b610c98565b82525050565b5f610ccb8285610ca9565b601482019150610cdb8284610ca9565b6014820191508190509392505050565b5f604082019050610cfe5f830185610986565b610d0b6020830184610986565b9392505050565b5f604082019050610d255f830185610986565b610d326020830184610a10565b939250505056fe60806040526001600a553480156013575f5ffd5b503360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612ff5806100615f395ff3fe608060405234801561000f575f5ffd5b506004361061014b575f3560e01c80636a627842116100c1578063ba9a7a561161007a578063ba9a7a56146103b8578063bc25cf77146103d6578063c45a0155146103f2578063d21220a714610410578063dd62ed3e1461042e578063fff6cae91461045e5761014b565b80636a627842146102bb57806370a08231146102eb5780637464fc3d1461031b57806389afcb441461033957806395d89b411461036a578063a9059cbb146103885761014b565b806318160ddd1161011357806318160ddd146101f757806323b872dd14610215578063313ce56714610245578063485cc955146102635780635909c0d51461027f5780635a3d54931461029d5761014b565b8063022c0d9f1461014f57806306fdde031461016b5780630902f1ac14610189578063095ea7b3146101a95780630dfe1681146101d9575b5f5ffd5b610169600480360381019061016491906124c4565b610468565b005b6101736109e4565b60405161018091906125b8565b60405180910390f35b610191610a1d565b6040516101a09392919061261e565b60405180910390f35b6101c360048036038101906101be9190612653565b610a77565b6040516101d091906126ab565b60405180910390f35b6101e1610b64565b6040516101ee91906126d3565b60405180910390f35b6101ff610b89565b60405161020c91906126fb565b60405180910390f35b61022f600480360381019061022a9190612714565b610b8e565b60405161023c91906126ab565b60405180910390f35b61024d610cd3565b60405161025a919061277f565b60405180910390f35b61027d60048036038101906102789190612798565b610cd8565b005b610287610deb565b60405161029491906126fb565b60405180910390f35b6102a5610df1565b6040516102b291906126fb565b60405180910390f35b6102d560048036038101906102d091906127d6565b610df7565b6040516102e291906126fb565b60405180910390f35b610305600480360381019061030091906127d6565b61119e565b60405161031291906126fb565b60405180910390f35b6103236111b3565b60405161033091906126fb565b60405180910390f35b610353600480360381019061034e91906127d6565b6111b9565b604051610361929190612801565b60405180910390f35b610372611635565b60405161037f91906125b8565b60405180910390f35b6103a2600480360381019061039d9190612653565b61166e565b6040516103af91906126ab565b60405180910390f35b6103c0611684565b6040516103cd91906126fb565b60405180910390f35b6103f060048036038101906103eb91906127d6565b61168a565b005b6103fa61189e565b60405161040791906126d3565b60405180910390f35b6104186118c3565b60405161042591906126d3565b60405180910390f35b61044860048036038101906104439190612798565b6118e8565b60405161045591906126fb565b60405180910390f35b610466611908565b005b6001600a54146104ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a490612872565b60405180910390fd5b5f600a819055505f8511806104c157505f84115b610500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f7906128da565b60405180910390fd5b5f5f61050a610a1d565b5091509150816dffffffffffffffffffffffffffff168710801561053d5750806dffffffffffffffffffffffffffff1686105b61057c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057390612942565b60405180910390fd5b5f5f5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415801561063057508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b61066f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610666906129aa565b60405180910390fd5b5f8b111561068357610682828a8d611ad1565b5b5f8a111561069757610696818a8c611ad1565b5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106d091906126d3565b602060405180830381865afa1580156106eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070f91906129dc565b93508073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161074a91906126d3565b602060405180830381865afa158015610765573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078991906129dc565b925050505f89856dffffffffffffffffffffffffffff166107aa9190612a34565b83116107b6575f6107de565b89856dffffffffffffffffffffffffffff166107d29190612a34565b836107dd9190612a34565b5b90505f89856dffffffffffffffffffffffffffff166107fd9190612a34565b8311610809575f610831565b89856dffffffffffffffffffffffffffff166108259190612a34565b836108309190612a34565b5b90505f82118061084057505f81115b61087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087690612ab1565b60405180910390fd5b5f60038361088d9190612acf565b6103e88661089b9190612acf565b6108a59190612a34565b90505f6003836108b59190612acf565b6103e8866108c39190612acf565b6108cd9190612a34565b9050620f4240876dffffffffffffffffffffffffffff16896dffffffffffffffffffffffffffff166108ff9190612acf565b6109099190612acf565b81836109159190612acf565b1015610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d90612b5a565b60405180910390fd5b505061096484848888611c01565b8873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82284848f8f6040516109c79493929190612b78565b60405180910390a35050505050506001600a819055505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b5f5f5f60065f9054906101000a90046dffffffffffffffffffffffffffff1692506006600e9054906101000a90046dffffffffffffffffffffffffffff1691506006601c9054906101000a900463ffffffff169050909192565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b5291906126fb565b60405180910390a36001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610cbd578160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610cb59190612a34565b925050819055505b610cc8848484611eeb565b600190509392505050565b601281565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5e90612c05565b60405180910390fd5b8160045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60075481565b60085481565b5f6001600a5414610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490612872565b60405180910390fd5b5f600a819055505f5f610e4e610a1d565b50915091505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610eae91906126d3565b602060405180830381865afa158015610ec9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eed91906129dc565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f4a91906126d3565b602060405180830381865afa158015610f65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8991906129dc565b90505f846dffffffffffffffffffffffffffff1683610fa89190612a34565b90505f846dffffffffffffffffffffffffffff1683610fc79190612a34565b90505f610fd48787611ffb565b90505f5f5490505f8103611018576103e8610ff98486610ff49190612acf565b612199565b6110039190612a34565b985061101361dead6103e8612210565b611071565b61106e886dffffffffffffffffffffffffffff1682866110389190612acf565b6110429190612c50565b886dffffffffffffffffffffffffffff16838661105f9190612acf565b6110699190612c50565b6122e3565b98505b5f89116110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110aa90612cca565b60405180910390fd5b6110bd8a8a612210565b6110c986868a8a611c01565b8115611139576006600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff1660065f9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff166111329190612acf565b6009819055505b3373ffffffffffffffffffffffffffffffffffffffff167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8585604051611181929190612801565b60405180910390a250505050505050506001600a81905550919050565b6001602052805f5260405f205f915090505481565b60095481565b5f5f6001600a5414611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f790612872565b60405180910390fd5b5f600a819055505f5f611211610a1d565b50915091505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161129a91906126d3565b602060405180830381865afa1580156112b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d991906129dc565b90505f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161131591906126d3565b602060405180830381865afa158015611330573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135491906129dc565b90505f60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f6113a28888611ffb565b90505f5f5490508085846113b69190612acf565b6113c09190612c50565b9a508084846113cf9190612acf565b6113d99190612c50565b99505f8b1180156113e957505f8a115b611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f90612d32565b60405180910390fd5b61143230846122fb565b61143d878d8d611ad1565b611448868d8c611ad1565b8673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161148191906126d3565b602060405180830381865afa15801561149c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c091906129dc565b94508573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114fb91906126d3565b602060405180830381865afa158015611516573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061153a91906129dc565b935061154885858b8b611c01565b81156115b8576006600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff1660065f9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff166115b19190612acf565b6009819055505b8b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d819364968d8d604051611617929190612801565b60405180910390a35050505050505050506001600a81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b5f61167a338484611eeb565b6001905092915050565b6103e881565b6001600a54146116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c690612872565b60405180910390fd5b5f600a819055505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506117d8828460065f9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161178a91906126d3565b602060405180830381865afa1580156117a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c991906129dc565b6117d39190612a34565b611ad1565b61189181846006600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161184391906126d3565b602060405180830381865afa15801561185e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188291906129dc565b61188c9190612a34565b611ad1565b50506001600a8190555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b6001600a541461194d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194490612872565b60405180910390fd5b5f600a81905550611ac760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119b191906126d3565b602060405180830381865afa1580156119cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f091906129dc565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611a4a91906126d3565b602060405180830381865afa158015611a65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8991906129dc565b60065f9054906101000a90046dffffffffffffffffffffffffffff166006600e9054906101000a90046dffffffffffffffffffffffffffff16611c01565b6001600a81905550565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401611b02929190612d50565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611b509190612dbb565b5f604051808303815f865af19150503d805f8114611b89576040519150601f19603f3d011682016040523d82523d5f602084013e611b8e565b606091505b5091509150818015611bbb57505f81511480611bba575080806020019051810190611bb99190612dfb565b5b5b611bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf190612e70565b60405180910390fd5b5050505050565b6dffffffffffffffffffffffffffff80168411158015611c3157506dffffffffffffffffffffffffffff80168311155b611c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6790612ed8565b60405180910390fd5b5f64010000000042611c829190612ef6565b90505f6006601c9054906101000a900463ffffffff16820390505f8163ffffffff16118015611cc157505f846dffffffffffffffffffffffffffff1614155b8015611cdd57505f836dffffffffffffffffffffffffffff1614155b15611de957836dffffffffffffffffffffffffffff168163ffffffff16846dffffffffffffffffffffffffffff16027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681611d3857611d37612c23565b5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660075f8282540192505081905550826dffffffffffffffffffffffffffff168163ffffffff16856dffffffffffffffffffffffffffff16027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681611dbb57611dba612c23565b5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660085f82825401925050819055505b508460065f6101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550836006600e6101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550806006601c6101000a81548163ffffffff021916908363ffffffff1602179055507f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad160065f9054906101000a90046dffffffffffffffffffffffffffff166006600e9054906101000a90046dffffffffffffffffffffffffffff16604051611edc929190612f26565b60405180910390a15050505050565b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611f379190612a34565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611f8a9190612f4d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fee91906126fb565b60405180910390a3505050565b5f5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015612067573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061208b9190612f94565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141591505f60095490508215612181575f811461217c575f612107856dffffffffffffffffffffffffffff16876dffffffffffffffffffffffffffff166121029190612acf565b612199565b90505f61211383612199565b905080821115612179575f818361212a9190612a34565b5f546121369190612acf565b90505f826005856121479190612acf565b6121519190612f4d565b90505f81836121609190612c50565b90505f811115612175576121748782612210565b5b5050505b50505b612191565b5f8114612190575f6009819055505b5b505092915050565b5f60038211156121fe578190505f60016002846121b69190612c50565b6121c09190612f4d565b90505b818110156121f85780915060028182856121dd9190612c50565b6121e79190612f4d565b6121f19190612c50565b90506121c3565b5061220b565b5f821461220a57600190505b5b919050565b805f5f8282546122209190612f4d565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122739190612f4d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122d791906126fb565b60405180910390a35050565b5f8183106122f157816122f3565b825b905092915050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546123479190612a34565b92505081905550805f5f82825461235e9190612a34565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123c291906126fb565b60405180910390a35050565b5f5ffd5b5f5ffd5b5f819050919050565b6123e8816123d6565b81146123f2575f5ffd5b50565b5f81359050612403816123df565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61243282612409565b9050919050565b61244281612428565b811461244c575f5ffd5b50565b5f8135905061245d81612439565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261248457612483612463565b5b8235905067ffffffffffffffff8111156124a1576124a0612467565b5b6020830191508360018202830111156124bd576124bc61246b565b5b9250929050565b5f5f5f5f5f608086880312156124dd576124dc6123ce565b5b5f6124ea888289016123f5565b95505060206124fb888289016123f5565b945050604061250c8882890161244f565b935050606086013567ffffffffffffffff81111561252d5761252c6123d2565b5b6125398882890161246f565b92509250509295509295909350565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61258a82612548565b6125948185612552565b93506125a4818560208601612562565b6125ad81612570565b840191505092915050565b5f6020820190508181035f8301526125d08184612580565b905092915050565b5f6dffffffffffffffffffffffffffff82169050919050565b6125fa816125d8565b82525050565b5f63ffffffff82169050919050565b61261881612600565b82525050565b5f6060820190506126315f8301866125f1565b61263e60208301856125f1565b61264b604083018461260f565b949350505050565b5f5f60408385031215612669576126686123ce565b5b5f6126768582860161244f565b9250506020612687858286016123f5565b9150509250929050565b5f8115159050919050565b6126a581612691565b82525050565b5f6020820190506126be5f83018461269c565b92915050565b6126cd81612428565b82525050565b5f6020820190506126e65f8301846126c4565b92915050565b6126f5816123d6565b82525050565b5f60208201905061270e5f8301846126ec565b92915050565b5f5f5f6060848603121561272b5761272a6123ce565b5b5f6127388682870161244f565b93505060206127498682870161244f565b925050604061275a868287016123f5565b9150509250925092565b5f60ff82169050919050565b61277981612764565b82525050565b5f6020820190506127925f830184612770565b92915050565b5f5f604083850312156127ae576127ad6123ce565b5b5f6127bb8582860161244f565b92505060206127cc8582860161244f565b9150509250929050565b5f602082840312156127eb576127ea6123ce565b5b5f6127f88482850161244f565b91505092915050565b5f6040820190506128145f8301856126ec565b61282160208301846126ec565b9392505050565b7f4c4f434b454400000000000000000000000000000000000000000000000000005f82015250565b5f61285c600683612552565b915061286782612828565b602082019050919050565b5f6020820190508181035f83015261288981612850565b9050919050565b7f494e53554646494349454e545f4f55545055545f414d4f554e540000000000005f82015250565b5f6128c4601a83612552565b91506128cf82612890565b602082019050919050565b5f6020820190508181035f8301526128f1816128b8565b9050919050565b7f494e53554646494349454e545f4c4951554944495459000000000000000000005f82015250565b5f61292c601683612552565b9150612937826128f8565b602082019050919050565b5f6020820190508181035f83015261295981612920565b9050919050565b7f494e56414c49445f544f000000000000000000000000000000000000000000005f82015250565b5f612994600a83612552565b915061299f82612960565b602082019050919050565b5f6020820190508181035f8301526129c181612988565b9050919050565b5f815190506129d6816123df565b92915050565b5f602082840312156129f1576129f06123ce565b5b5f6129fe848285016129c8565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612a3e826123d6565b9150612a49836123d6565b9250828203905081811115612a6157612a60612a07565b5b92915050565b7f494e53554646494349454e545f494e5055545f414d4f554e54000000000000005f82015250565b5f612a9b601983612552565b9150612aa682612a67565b602082019050919050565b5f6020820190508181035f830152612ac881612a8f565b9050919050565b5f612ad9826123d6565b9150612ae4836123d6565b9250828202612af2816123d6565b91508282048414831517612b0957612b08612a07565b5b5092915050565b7f4b000000000000000000000000000000000000000000000000000000000000005f82015250565b5f612b44600183612552565b9150612b4f82612b10565b602082019050919050565b5f6020820190508181035f830152612b7181612b38565b9050919050565b5f608082019050612b8b5f8301876126ec565b612b9860208301866126ec565b612ba560408301856126ec565b612bb260608301846126ec565b95945050505050565b7f464f5242494444454e00000000000000000000000000000000000000000000005f82015250565b5f612bef600983612552565b9150612bfa82612bbb565b602082019050919050565b5f6020820190508181035f830152612c1c81612be3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c5a826123d6565b9150612c65836123d6565b925082612c7557612c74612c23565b5b828204905092915050565b7f494e53554646494349454e545f4c49515549444954595f4d494e5445440000005f82015250565b5f612cb4601d83612552565b9150612cbf82612c80565b602082019050919050565b5f6020820190508181035f830152612ce181612ca8565b9050919050565b7f494e53554646494349454e545f4c49515549444954595f4255524e45440000005f82015250565b5f612d1c601d83612552565b9150612d2782612ce8565b602082019050919050565b5f6020820190508181035f830152612d4981612d10565b9050919050565b5f604082019050612d635f8301856126c4565b612d7060208301846126ec565b9392505050565b5f81519050919050565b5f81905092915050565b5f612d9582612d77565b612d9f8185612d81565b9350612daf818560208601612562565b80840191505092915050565b5f612dc68284612d8b565b915081905092915050565b612dda81612691565b8114612de4575f5ffd5b50565b5f81519050612df581612dd1565b92915050565b5f60208284031215612e1057612e0f6123ce565b5b5f612e1d84828501612de7565b91505092915050565b7f5452414e534645525f4641494c454400000000000000000000000000000000005f82015250565b5f612e5a600f83612552565b9150612e6582612e26565b602082019050919050565b5f6020820190508181035f830152612e8781612e4e565b9050919050565b7f4f564552464c4f570000000000000000000000000000000000000000000000005f82015250565b5f612ec2600883612552565b9150612ecd82612e8e565b602082019050919050565b5f6020820190508181035f830152612eef81612eb6565b9050919050565b5f612f00826123d6565b9150612f0b836123d6565b925082612f1b57612f1a612c23565b5b828206905092915050565b5f604082019050612f395f8301856125f1565b612f4660208301846125f1565b9392505050565b5f612f57826123d6565b9150612f62836123d6565b9250828201905080821115612f7a57612f79612a07565b5b92915050565b5f81519050612f8e81612439565b92915050565b5f60208284031215612fa957612fa86123ce565b5b5f612fb684828501612f80565b9150509291505056fea264697066735822122021187d1b19d39a5dc775b20be80d74dd581805437ac007819c3e9946b0830fae64736f6c63430008230033a2646970667358221220e45354c423e1f8518a012b80bf7e1772bd8ea330d643e2d363bd6544727918f364736f6c63430008230033
Creation Bytecode
0x608060405234801561000f575f5ffd5b50604051613ed2380380613ed2833981810160405281019061003191906100d5565b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610100565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6100a48261007b565b9050919050565b6100b48161009a565b81146100be575f5ffd5b50565b5f815190506100cf816100ab565b92915050565b5f602082840312156100ea576100e9610077565b5b5f6100f7848285016100c1565b91505092915050565b613dc58061010d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610086575f3560e01c8063a2e74af611610059578063a2e74af614610114578063c9c6539614610130578063e6a4390514610160578063f46901ed1461019057610086565b8063017e7e581461008a578063094b7415146100a85780631e3dd18b146100c6578063574f2ba3146100f6575b5f5ffd5b6100926101ac565b60405161009f9190610995565b60405180910390f35b6100b06101d0565b6040516100bd9190610995565b60405180910390f35b6100e060048036038101906100db91906109e5565b6101f5565b6040516100ed9190610995565b60405180910390f35b6100fe610230565b60405161010b9190610a1f565b60405180910390f35b61012e60048036038101906101299190610a62565b61023c565b005b61014a60048036038101906101459190610a8d565b61030e565b6040516101579190610995565b60405180910390f35b61017a60048036038101906101759190610a8d565b61083b565b6040516101879190610995565b60405180910390f35b6101aa60048036038101906101a59190610a62565b610878565b005b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60038181548110610204575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600380549050905090565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102c290610b25565b60405180910390fd5b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361037d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161037490610b8d565b60405180910390fd5b5f5f8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16106103b95783856103bc565b84845b915091505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361042e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042590610bf5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052a90610c5d565b60405180910390fd5b5f6040518060200161054490610949565b6020820181038252601f19601f8201166040525090505f838360405160200161056e929190610cc0565b604051602081830303815290604052805190602001209050808251602084015ff594508473ffffffffffffffffffffffffffffffffffffffff1663485cc95585856040518363ffffffff1660e01b81526004016105cc929190610ceb565b5f604051808303815f87803b1580156105e3575f5ffd5b505af11580156105f5573d5f5f3e3d5ffd5b505050508460025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600385908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e987600380549050604051610829929190610d12565b60405180910390a35050505092915050565b6002602052815f5260405f20602052805f5260405f205f915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610907576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108fe90610b25565b60405180910390fd5b805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61305680610d3a83390190565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61097f82610956565b9050919050565b61098f81610975565b82525050565b5f6020820190506109a85f830184610986565b92915050565b5f5ffd5b5f819050919050565b6109c4816109b2565b81146109ce575f5ffd5b50565b5f813590506109df816109bb565b92915050565b5f602082840312156109fa576109f96109ae565b5b5f610a07848285016109d1565b91505092915050565b610a19816109b2565b82525050565b5f602082019050610a325f830184610a10565b92915050565b610a4181610975565b8114610a4b575f5ffd5b50565b5f81359050610a5c81610a38565b92915050565b5f60208284031215610a7757610a766109ae565b5b5f610a8484828501610a4e565b91505092915050565b5f5f60408385031215610aa357610aa26109ae565b5b5f610ab085828601610a4e565b9250506020610ac185828601610a4e565b9150509250929050565b5f82825260208201905092915050565b7f464f5242494444454e00000000000000000000000000000000000000000000005f82015250565b5f610b0f600983610acb565b9150610b1a82610adb565b602082019050919050565b5f6020820190508181035f830152610b3c81610b03565b9050919050565b7f4944454e544943414c5f414444524553534553000000000000000000000000005f82015250565b5f610b77601383610acb565b9150610b8282610b43565b602082019050919050565b5f6020820190508181035f830152610ba481610b6b565b9050919050565b7f5a45524f5f4144445245535300000000000000000000000000000000000000005f82015250565b5f610bdf600c83610acb565b9150610bea82610bab565b602082019050919050565b5f6020820190508181035f830152610c0c81610bd3565b9050919050565b7f504149525f4558495354530000000000000000000000000000000000000000005f82015250565b5f610c47600b83610acb565b9150610c5282610c13565b602082019050919050565b5f6020820190508181035f830152610c7481610c3b565b9050919050565b5f8160601b9050919050565b5f610c9182610c7b565b9050919050565b5f610ca282610c87565b9050919050565b610cba610cb582610975565b610c98565b82525050565b5f610ccb8285610ca9565b601482019150610cdb8284610ca9565b6014820191508190509392505050565b5f604082019050610cfe5f830185610986565b610d0b6020830184610986565b9392505050565b5f604082019050610d255f830185610986565b610d326020830184610a10565b939250505056fe60806040526001600a553480156013575f5ffd5b503360035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612ff5806100615f395ff3fe608060405234801561000f575f5ffd5b506004361061014b575f3560e01c80636a627842116100c1578063ba9a7a561161007a578063ba9a7a56146103b8578063bc25cf77146103d6578063c45a0155146103f2578063d21220a714610410578063dd62ed3e1461042e578063fff6cae91461045e5761014b565b80636a627842146102bb57806370a08231146102eb5780637464fc3d1461031b57806389afcb441461033957806395d89b411461036a578063a9059cbb146103885761014b565b806318160ddd1161011357806318160ddd146101f757806323b872dd14610215578063313ce56714610245578063485cc955146102635780635909c0d51461027f5780635a3d54931461029d5761014b565b8063022c0d9f1461014f57806306fdde031461016b5780630902f1ac14610189578063095ea7b3146101a95780630dfe1681146101d9575b5f5ffd5b610169600480360381019061016491906124c4565b610468565b005b6101736109e4565b60405161018091906125b8565b60405180910390f35b610191610a1d565b6040516101a09392919061261e565b60405180910390f35b6101c360048036038101906101be9190612653565b610a77565b6040516101d091906126ab565b60405180910390f35b6101e1610b64565b6040516101ee91906126d3565b60405180910390f35b6101ff610b89565b60405161020c91906126fb565b60405180910390f35b61022f600480360381019061022a9190612714565b610b8e565b60405161023c91906126ab565b60405180910390f35b61024d610cd3565b60405161025a919061277f565b60405180910390f35b61027d60048036038101906102789190612798565b610cd8565b005b610287610deb565b60405161029491906126fb565b60405180910390f35b6102a5610df1565b6040516102b291906126fb565b60405180910390f35b6102d560048036038101906102d091906127d6565b610df7565b6040516102e291906126fb565b60405180910390f35b610305600480360381019061030091906127d6565b61119e565b60405161031291906126fb565b60405180910390f35b6103236111b3565b60405161033091906126fb565b60405180910390f35b610353600480360381019061034e91906127d6565b6111b9565b604051610361929190612801565b60405180910390f35b610372611635565b60405161037f91906125b8565b60405180910390f35b6103a2600480360381019061039d9190612653565b61166e565b6040516103af91906126ab565b60405180910390f35b6103c0611684565b6040516103cd91906126fb565b60405180910390f35b6103f060048036038101906103eb91906127d6565b61168a565b005b6103fa61189e565b60405161040791906126d3565b60405180910390f35b6104186118c3565b60405161042591906126d3565b60405180910390f35b61044860048036038101906104439190612798565b6118e8565b60405161045591906126fb565b60405180910390f35b610466611908565b005b6001600a54146104ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a490612872565b60405180910390fd5b5f600a819055505f8511806104c157505f84115b610500576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f7906128da565b60405180910390fd5b5f5f61050a610a1d565b5091509150816dffffffffffffffffffffffffffff168710801561053d5750806dffffffffffffffffffffffffffff1686105b61057c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057390612942565b60405180910390fd5b5f5f5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff161415801561063057508073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614155b61066f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610666906129aa565b60405180910390fd5b5f8b111561068357610682828a8d611ad1565b5b5f8a111561069757610696818a8c611ad1565b5b8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016106d091906126d3565b602060405180830381865afa1580156106eb573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070f91906129dc565b93508073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161074a91906126d3565b602060405180830381865afa158015610765573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061078991906129dc565b925050505f89856dffffffffffffffffffffffffffff166107aa9190612a34565b83116107b6575f6107de565b89856dffffffffffffffffffffffffffff166107d29190612a34565b836107dd9190612a34565b5b90505f89856dffffffffffffffffffffffffffff166107fd9190612a34565b8311610809575f610831565b89856dffffffffffffffffffffffffffff166108259190612a34565b836108309190612a34565b5b90505f82118061084057505f81115b61087f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087690612ab1565b60405180910390fd5b5f60038361088d9190612acf565b6103e88661089b9190612acf565b6108a59190612a34565b90505f6003836108b59190612acf565b6103e8866108c39190612acf565b6108cd9190612a34565b9050620f4240876dffffffffffffffffffffffffffff16896dffffffffffffffffffffffffffff166108ff9190612acf565b6109099190612acf565b81836109159190612acf565b1015610956576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094d90612b5a565b60405180910390fd5b505061096484848888611c01565b8873ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fd78ad95fa46c994b6551d0da85fc275fe613ce37657fb8d5e3d130840159d82284848f8f6040516109c79493929190612b78565b60405180910390a35050505050506001600a819055505050505050565b6040518060400160405280600a81526020017f556e69737761702056320000000000000000000000000000000000000000000081525081565b5f5f5f60065f9054906101000a90046dffffffffffffffffffffffffffff1692506006600e9054906101000a90046dffffffffffffffffffffffffffff1691506006601c9054906101000a900463ffffffff169050909192565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610b5291906126fb565b60405180910390a36001905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f5481565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414610cbd578160025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610cb59190612a34565b925050819055505b610cc8848484611eeb565b600190509392505050565b601281565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5e90612c05565b60405180910390fd5b8160045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b60075481565b60085481565b5f6001600a5414610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3490612872565b60405180910390fd5b5f600a819055505f5f610e4e610a1d565b50915091505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610eae91906126d3565b602060405180830381865afa158015610ec9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eed91906129dc565b90505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610f4a91906126d3565b602060405180830381865afa158015610f65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f8991906129dc565b90505f846dffffffffffffffffffffffffffff1683610fa89190612a34565b90505f846dffffffffffffffffffffffffffff1683610fc79190612a34565b90505f610fd48787611ffb565b90505f5f5490505f8103611018576103e8610ff98486610ff49190612acf565b612199565b6110039190612a34565b985061101361dead6103e8612210565b611071565b61106e886dffffffffffffffffffffffffffff1682866110389190612acf565b6110429190612c50565b886dffffffffffffffffffffffffffff16838661105f9190612acf565b6110699190612c50565b6122e3565b98505b5f89116110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110aa90612cca565b60405180910390fd5b6110bd8a8a612210565b6110c986868a8a611c01565b8115611139576006600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff1660065f9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff166111329190612acf565b6009819055505b3373ffffffffffffffffffffffffffffffffffffffff167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f8585604051611181929190612801565b60405180910390a250505050505050506001600a81905550919050565b6001602052805f5260405f205f915090505481565b60095481565b5f5f6001600a5414611200576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111f790612872565b60405180910390fd5b5f600a819055505f5f611211610a1d565b50915091505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161129a91906126d3565b602060405180830381865afa1580156112b5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112d991906129dc565b90505f8273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161131591906126d3565b602060405180830381865afa158015611330573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135491906129dc565b90505f60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f6113a28888611ffb565b90505f5f5490508085846113b69190612acf565b6113c09190612c50565b9a508084846113cf9190612acf565b6113d99190612c50565b99505f8b1180156113e957505f8a115b611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f90612d32565b60405180910390fd5b61143230846122fb565b61143d878d8d611ad1565b611448868d8c611ad1565b8673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161148191906126d3565b602060405180830381865afa15801561149c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114c091906129dc565b94508573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016114fb91906126d3565b602060405180830381865afa158015611516573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061153a91906129dc565b935061154885858b8b611c01565b81156115b8576006600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff1660065f9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff166115b19190612acf565b6009819055505b8b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d819364968d8d604051611617929190612801565b60405180910390a35050505050505050506001600a81905550915091565b6040518060400160405280600681526020017f554e492d5632000000000000000000000000000000000000000000000000000081525081565b5f61167a338484611eeb565b6001905092915050565b6103e881565b6001600a54146116cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c690612872565b60405180910390fd5b5f600a819055505f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506117d8828460065f9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161178a91906126d3565b602060405180830381865afa1580156117a5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117c991906129dc565b6117d39190612a34565b611ad1565b61189181846006600e9054906101000a90046dffffffffffffffffffffffffffff166dffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161184391906126d3565b602060405180830381865afa15801561185e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061188291906129dc565b61188c9190612a34565b611ad1565b50506001600a8190555050565b60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052815f5260405f20602052805f5260405f205f91509150505481565b6001600a541461194d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194490612872565b60405180910390fd5b5f600a81905550611ac760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119b191906126d3565b602060405180830381865afa1580156119cc573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f091906129dc565b60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611a4a91906126d3565b602060405180830381865afa158015611a65573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a8991906129dc565b60065f9054906101000a90046dffffffffffffffffffffffffffff166006600e9054906101000a90046dffffffffffffffffffffffffffff16611c01565b6001600a81905550565b5f5f8473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401611b02929190612d50565b6040516020818303038152906040529060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050604051611b509190612dbb565b5f604051808303815f865af19150503d805f8114611b89576040519150601f19603f3d011682016040523d82523d5f602084013e611b8e565b606091505b5091509150818015611bbb57505f81511480611bba575080806020019051810190611bb99190612dfb565b5b5b611bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf190612e70565b60405180910390fd5b5050505050565b6dffffffffffffffffffffffffffff80168411158015611c3157506dffffffffffffffffffffffffffff80168311155b611c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6790612ed8565b60405180910390fd5b5f64010000000042611c829190612ef6565b90505f6006601c9054906101000a900463ffffffff16820390505f8163ffffffff16118015611cc157505f846dffffffffffffffffffffffffffff1614155b8015611cdd57505f836dffffffffffffffffffffffffffff1614155b15611de957836dffffffffffffffffffffffffffff168163ffffffff16846dffffffffffffffffffffffffffff16027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681611d3857611d37612c23565b5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660075f8282540192505081905550826dffffffffffffffffffffffffffff168163ffffffff16856dffffffffffffffffffffffffffff16027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681611dbb57611dba612c23565b5b047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660085f82825401925050819055505b508460065f6101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550836006600e6101000a8154816dffffffffffffffffffffffffffff02191690836dffffffffffffffffffffffffffff160217905550806006601c6101000a81548163ffffffff021916908363ffffffff1602179055507f1c411e9a96e071241c2f21f7726b17ae89e3cab4c78be50e062b03a9fffbbad160065f9054906101000a90046dffffffffffffffffffffffffffff166006600e9054906101000a90046dffffffffffffffffffffffffffff16604051611edc929190612f26565b60405180910390a15050505050565b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611f379190612a34565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611f8a9190612f4d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611fee91906126fb565b60405180910390a3505050565b5f5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663017e7e586040518163ffffffff1660e01b8152600401602060405180830381865afa158015612067573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061208b9190612f94565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141591505f60095490508215612181575f811461217c575f612107856dffffffffffffffffffffffffffff16876dffffffffffffffffffffffffffff166121029190612acf565b612199565b90505f61211383612199565b905080821115612179575f818361212a9190612a34565b5f546121369190612acf565b90505f826005856121479190612acf565b6121519190612f4d565b90505f81836121609190612c50565b90505f811115612175576121748782612210565b5b5050505b50505b612191565b5f8114612190575f6009819055505b5b505092915050565b5f60038211156121fe578190505f60016002846121b69190612c50565b6121c09190612f4d565b90505b818110156121f85780915060028182856121dd9190612c50565b6121e79190612f4d565b6121f19190612c50565b90506121c3565b5061220b565b5f821461220a57600190505b5b919050565b805f5f8282546122209190612f4d565b925050819055508060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546122739190612f4d565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122d791906126fb565b60405180910390a35050565b5f8183106122f157816122f3565b825b905092915050565b8060015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546123479190612a34565b92505081905550805f5f82825461235e9190612a34565b925050819055505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516123c291906126fb565b60405180910390a35050565b5f5ffd5b5f5ffd5b5f819050919050565b6123e8816123d6565b81146123f2575f5ffd5b50565b5f81359050612403816123df565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61243282612409565b9050919050565b61244281612428565b811461244c575f5ffd5b50565b5f8135905061245d81612439565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261248457612483612463565b5b8235905067ffffffffffffffff8111156124a1576124a0612467565b5b6020830191508360018202830111156124bd576124bc61246b565b5b9250929050565b5f5f5f5f5f608086880312156124dd576124dc6123ce565b5b5f6124ea888289016123f5565b95505060206124fb888289016123f5565b945050604061250c8882890161244f565b935050606086013567ffffffffffffffff81111561252d5761252c6123d2565b5b6125398882890161246f565b92509250509295509295909350565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61258a82612548565b6125948185612552565b93506125a4818560208601612562565b6125ad81612570565b840191505092915050565b5f6020820190508181035f8301526125d08184612580565b905092915050565b5f6dffffffffffffffffffffffffffff82169050919050565b6125fa816125d8565b82525050565b5f63ffffffff82169050919050565b61261881612600565b82525050565b5f6060820190506126315f8301866125f1565b61263e60208301856125f1565b61264b604083018461260f565b949350505050565b5f5f60408385031215612669576126686123ce565b5b5f6126768582860161244f565b9250506020612687858286016123f5565b9150509250929050565b5f8115159050919050565b6126a581612691565b82525050565b5f6020820190506126be5f83018461269c565b92915050565b6126cd81612428565b82525050565b5f6020820190506126e65f8301846126c4565b92915050565b6126f5816123d6565b82525050565b5f60208201905061270e5f8301846126ec565b92915050565b5f5f5f6060848603121561272b5761272a6123ce565b5b5f6127388682870161244f565b93505060206127498682870161244f565b925050604061275a868287016123f5565b9150509250925092565b5f60ff82169050919050565b61277981612764565b82525050565b5f6020820190506127925f830184612770565b92915050565b5f5f604083850312156127ae576127ad6123ce565b5b5f6127bb8582860161244f565b92505060206127cc8582860161244f565b9150509250929050565b5f602082840312156127eb576127ea6123ce565b5b5f6127f88482850161244f565b91505092915050565b5f6040820190506128145f8301856126ec565b61282160208301846126ec565b9392505050565b7f4c4f434b454400000000000000000000000000000000000000000000000000005f82015250565b5f61285c600683612552565b915061286782612828565b602082019050919050565b5f6020820190508181035f83015261288981612850565b9050919050565b7f494e53554646494349454e545f4f55545055545f414d4f554e540000000000005f82015250565b5f6128c4601a83612552565b91506128cf82612890565b602082019050919050565b5f6020820190508181035f8301526128f1816128b8565b9050919050565b7f494e53554646494349454e545f4c4951554944495459000000000000000000005f82015250565b5f61292c601683612552565b9150612937826128f8565b602082019050919050565b5f6020820190508181035f83015261295981612920565b9050919050565b7f494e56414c49445f544f000000000000000000000000000000000000000000005f82015250565b5f612994600a83612552565b915061299f82612960565b602082019050919050565b5f6020820190508181035f8301526129c181612988565b9050919050565b5f815190506129d6816123df565b92915050565b5f602082840312156129f1576129f06123ce565b5b5f6129fe848285016129c8565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612a3e826123d6565b9150612a49836123d6565b9250828203905081811115612a6157612a60612a07565b5b92915050565b7f494e53554646494349454e545f494e5055545f414d4f554e54000000000000005f82015250565b5f612a9b601983612552565b9150612aa682612a67565b602082019050919050565b5f6020820190508181035f830152612ac881612a8f565b9050919050565b5f612ad9826123d6565b9150612ae4836123d6565b9250828202612af2816123d6565b91508282048414831517612b0957612b08612a07565b5b5092915050565b7f4b000000000000000000000000000000000000000000000000000000000000005f82015250565b5f612b44600183612552565b9150612b4f82612b10565b602082019050919050565b5f6020820190508181035f830152612b7181612b38565b9050919050565b5f608082019050612b8b5f8301876126ec565b612b9860208301866126ec565b612ba560408301856126ec565b612bb260608301846126ec565b95945050505050565b7f464f5242494444454e00000000000000000000000000000000000000000000005f82015250565b5f612bef600983612552565b9150612bfa82612bbb565b602082019050919050565b5f6020820190508181035f830152612c1c81612be3565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612c5a826123d6565b9150612c65836123d6565b925082612c7557612c74612c23565b5b828204905092915050565b7f494e53554646494349454e545f4c49515549444954595f4d494e5445440000005f82015250565b5f612cb4601d83612552565b9150612cbf82612c80565b602082019050919050565b5f6020820190508181035f830152612ce181612ca8565b9050919050565b7f494e53554646494349454e545f4c49515549444954595f4255524e45440000005f82015250565b5f612d1c601d83612552565b9150612d2782612ce8565b602082019050919050565b5f6020820190508181035f830152612d4981612d10565b9050919050565b5f604082019050612d635f8301856126c4565b612d7060208301846126ec565b9392505050565b5f81519050919050565b5f81905092915050565b5f612d9582612d77565b612d9f8185612d81565b9350612daf818560208601612562565b80840191505092915050565b5f612dc68284612d8b565b915081905092915050565b612dda81612691565b8114612de4575f5ffd5b50565b5f81519050612df581612dd1565b92915050565b5f60208284031215612e1057612e0f6123ce565b5b5f612e1d84828501612de7565b91505092915050565b7f5452414e534645525f4641494c454400000000000000000000000000000000005f82015250565b5f612e5a600f83612552565b9150612e6582612e26565b602082019050919050565b5f6020820190508181035f830152612e8781612e4e565b9050919050565b7f4f564552464c4f570000000000000000000000000000000000000000000000005f82015250565b5f612ec2600883612552565b9150612ecd82612e8e565b602082019050919050565b5f6020820190508181035f830152612eef81612eb6565b9050919050565b5f612f00826123d6565b9150612f0b836123d6565b925082612f1b57612f1a612c23565b5b828206905092915050565b5f604082019050612f395f8301856125f1565b612f4660208301846125f1565b9392505050565b5f612f57826123d6565b9150612f62836123d6565b9250828201905080821115612f7a57612f79612a07565b5b92915050565b5f81519050612f8e81612439565b92915050565b5f60208284031215612fa957612fa86123ce565b5b5f612fb684828501612f80565b9150509291505056fea264697066735822122021187d1b19d39a5dc775b20be80d74dd581805437ac007819c3e9946b0830fae64736f6c63430008230033a2646970667358221220e45354c423e1f8518a012b80bf7e1772bd8ea330d643e2d363bd6544727918f364736f6c63430008230033000000000000000000000000e604a90ee955f4f74883d4f2f538323696d909de