210 txs
245 calls
We do not have the source code for this contract. Sorry for the inconvenience.
We do not have the verified ABI for this contract. Here's what we could infer from the runtime bytecode by using WhatsABI:
functions
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
function signature unknown
events
event signature unknown
event signature unknown
event signature unknown
event signature unknown
event signature unknown
creation bytecode
0x60c06040526009805462ffffff60b81b1916601960ba1b1790555f600b556702c68af0bb140000600c5534801562000035575f80fd5b506040516200540838038062005408833981016040819052620000589162000164565b836001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000095573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000bb9190620001d2565b5f80546001600160a01b038088166001600160a01b0319928316178355600180549185169190921681179091556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200012b60ff8416670de0b6b3a7640000620001f7565b60805261ffff909116600a556001600160a01b031660a05250620002219050565b6001600160a01b038116811462000161575f80fd5b50565b5f805f806080858703121562000178575f80fd5b845162000185816200014c565b602086015190945060ff811681146200019c575f80fd5b604086015190935061ffff81168114620001b4575f80fd5b6060860151909250620001c7816200014c565b939692955090935050565b5f60208284031215620001e3575f80fd5b8151620001f0816200014c565b9392505050565b80820281158282048414176200021b57634e487b7160e01b5f52601160045260245ffd5b92915050565b60805160a0516151b7620002515f395f81816103a40152611b4f01525f8181610505015261191d01526151b75ff3fe608060405234801561000f575f80fd5b5060043610610273575f3560e01c80636f6781d31161014f578063b381a811116100ce578063cc9d982411610093578063e74b981b1161006e578063e74b981b146105a1578063f2fde38b146105b4578063f751cd8f146105c7575f80fd5b8063cc9d982414610569578063cd3293de1461057c578063d4aae0c41461058f575f80fd5b8063b381a81114610500578063b782897814610527578063b8ab24bd1461053a578063bf181e8b1461054d578063c83eec9114610561575f80fd5b80638ab6190e116101145780638ab6190e146104b45780638da5cb5b146104c75780639459b875146104da578063982f3bfd146104ef578063aa9f1a52146104f7575f80fd5b80636f6781d31461040857806376f0d2591461047e5780637edc171314610491578063844b68461461049957806386298bd1146104a1575f80fd5b806346904840116101f55780635788030d116101ba57806368110b2f1161019557806368110b2f146103e4578063693076e5146103ec5780636ced8cd0146103ff575f80fd5b80635788030d1461039f5780635924be70146103c657806360b07fa7146103db575f80fd5b80634690484014610367578063473599c51461037a5780634d601e1b146103825780634da16b591461038a578063524a9d1114610397575f80fd5b80632b21773c1161023b5780632b21773c1461032657806335faa4161461032f578063401ce57014610337578063442c18f31461034a5780634657b36c14610352575f80fd5b806316f0115b146102775780631b71bf6e146102b157806322f3e2d4146102d15780632624eaef146102e95780632b112e4914610310575b5f80fd5b60075461029490660100000000000090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6102b96105cf565b6040516001600160801b0390911681526020016102a8565b6102d9610672565b60405190151581526020016102a8565b6007546102fd906301000000900460020b81565b60405160029190910b81526020016102a8565b6103186106e1565b6040519081526020016102a8565b610318600b5481565b6102d9610915565b600554610294906001600160a01b031681565b6103186110f1565b610365610360366004614b5d565b6112ba565b005b600254610294906001600160a01b031681565b6102fd606481565b6102d961130c565b6007546102fd9060020b81565b6102fd61132f565b6102947f000000000000000000000000000000000000000000000000000000000000000081565b6103ce61139a565b6040516102a89190614b78565b610318600c5481565b6102d96115a7565b600354610294906001600160a01b031681565b610318600a5481565b61041b610416366004614bda565b611c26565b6040516102a891905f60c0820190506001600160801b03835116825260208301516001600160a01b0380821660208501528060408601511660408501525050606083015160608301526080830151608083015260a083015160a083015292915050565b61036561048c366004614bf8565b611cc8565b6102b9611d16565b6102d9611dfe565b6103656104af366004614bf8565b611f2f565b6103656104c2366004614c1d565b611f7d565b600154610294906001600160a01b031681565b6104e2611fea565b6040516102a89190614c38565b6102d9612741565b61031860065481565b6103187f000000000000000000000000000000000000000000000000000000000000000081565b610365610535366004614bf8565b612e3d565b600954610294906001600160a01b031681565b6009546102fd90600160b81b900460020b81565b6102d9612e8b565b600454610294906001600160a01b031681565b600854610294906001600160a01b031681565b5f54610294906001600160a01b031681565b6103656105af366004614b5d565b612fb5565b6103656105c2366004614b5d565b613162565b6102d96131f6565b6007545f9081906105e29060020b6137bb565b90505f6105fc826001600160a01b0316600160601b613ae3565b90505f61061a61060c8384613b30565b6106146106e1565b90613b30565b60095460075491925061066a916106499161064491600160a01b909104600290810b91900b614c99565b6137bb565b84612710600a548561065b9190614cbe565b6106659190614ce9565b613b5b565b935050505090565b5f805460405163e52223bb60e01b81523060048201526001600160a01b039091169063e52223bb90602401602060405180830381865afa1580156106b8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106dc9190614d0b565b905090565b5f8060055f9054906101000a90046001600160a01b03166001600160a01b0316634ac8eb5f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610733573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107579190614d24565b6009546005546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa1580156107a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107c59190614d24565b6107cf9190614d3b565b6009546003546040516370a0823160e01b81526001600160a01b03918216600482015292935016906370a0823190602401602060405180830381865afa15801561081b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061083f9190614d24565b8161084a6002611c26565b606001516108586001611c26565b606001516108655f611c26565b6060015160095f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108dd9190614d24565b6108e79190614d3b565b6108f19190614d3b565b6108fb9190614d3b565b6109059190614d3b565b61090f9190614d3b565b91505090565b5f61091e612e8b565b61092757505f90565b60055f9054906101000a90046001600160a01b03166001600160a01b0316638e57c65c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015610973575f80fd5b505af1158015610985573d5f803e3d5ffd5b505050505f6109946002611c26565b90505f61099f6105cf565b6003546040516354e1d18560e11b81529192505f916001600160a01b039091169063a9c3a30a906109d590600190600401614d6e565b602060405180830381865afa1580156109f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a149190614d92565b6008546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610a5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a839190614d24565b9050610a8d613ba6565b610a979082614dab565b6009546003546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa158015610ae6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b0a9190614d24565b60095f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b5a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b7e9190614d24565b610b889190614d3b565b9050610b92613d24565b60035460405163630369af60e01b81525f916001600160a01b03169063630369af90610bc390600190600401614d6e565b6080604051808303815f875af1158015610bdf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c039190614dbe565b60035460405163630369af60e01b81529195505f94506001600160a01b0316925063630369af9150610c3a90600290600401614d6e565b6080604051808303815f875af1158015610c56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c7a9190614dbe565b93505050508082610c8b9190614dab565b610c959085614dab565b93505f610ca26001611c26565b600354602080830151908b01519293505f926001600160a01b0390921691637e9b9e0a91610ccf91613f84565b60408c01518c51610ce1908c90614df1565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526001600160801b031660448201526064016040805180830381865afa158015610d39573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d5d9190614e18565b9150505f600760069054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015610db2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dd69190614e56565b505060035460208901516040808b015190516373a3a78f60e01b81526001600160a01b0392831660048201529082166024820152604481018a905281881660648201529697505f96911694506373a3a78f93506084019150610e359050565b602060405180830381865afa158015610e50573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e749190614d92565b9050610e89610e83828b614ee3565b8b613fa7565b60035460405163509c1bd160e01b8152919a506001600160a01b03169063509c1bd190610ebd906001908d90600401614f03565b6060604051808303815f875af1158015610ed9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610efd9190614f27565b50506003546008546040516370a0823160e01b81523060048201526001600160a01b0392831693506388826546925f928d929116906370a0823190602401602060405180830381865afa158015610f56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7a9190614d24565b610f849190614d3b565b6040518363ffffffff1660e01b8152600401610fa1929190614f59565b6060604051808303815f875af1158015610fbd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe19190614f27565b50506003546001600160a01b0316905063509c1bd160026110248d611004611d16565b61101690670de0b6b3a7640000614ee3565b6001600160801b0316613fca565b6040518363ffffffff1660e01b8152600401611041929190614f03565b6060604051808303815f875af115801561105d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110819190614f27565b5050508661108d6110f1565b10156110ac57604051631f84400760e31b815260040160405180910390fd5b6040518781527ff2e5cfae4c990f32807a4db8277440db70d23f8157e11efeb28e0f8ed03b69929060200160405180910390a160019b50505050505050505050505090565b5f806110fc5f611c26565b90505f6111096001611c26565b90505f6111166002611c26565b6003546020808601516040808801516005548251631f8f738360e31b815292519697505f966001600160a01b0396871696638d4aafb496939492169263fc7b9c1892600480820193918290030181865afa158015611176573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061119a9190614d24565b6004805460408051630b5aca5760e41b815290516001600160a01b039092169263b5aca5709282820192602092908290030181865afa1580156111df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112039190614d24565b61120d9190614dab565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820152606401602060405180830381865afa15801561125d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112819190614d24565b90508160a001518360a001518560a001518361129d9190614dab565b6112a79190614dab565b6112b19190614dab565b94505050505090565b5f546001600160a01b031633146112eb5760405163053e900f60e21b81523360048201526024015b60405180910390fd5b5f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f600b5460065461131d9190614dab565b42101580156106dc57506106dc613fde565b600354604080516346ca626b60e01b815290515f926001600160a01b0316916346ca626b9160048083019260209291908290030181865afa158015611376573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106dc9190614f74565b60408051600680825260e0820190925260609164109413d3d360da1b91644c4f4f505360d81b91602082015b604080518082019091525f80825260208201528152602001906001900390816113c6575050604080518082019091526001600160d81b03198416815263444132a360e11b602082015281519194509084905f9061142557611425614f8f565b602090810291909101810191909152604080518082019091526001600160d81b03198416815263509c1bd160e01b9181019190915283518490600190811061146f5761146f614f8f565b602090810291909101810191909152604080518082019091526001600160d81b03198416815263630369af60e01b918101919091528351849060029081106114b9576114b9614f8f565b602090810291909101810191909152604080518082019091526001600160d81b0319841681526340c10f1960e01b9181019190915283518490600390811061150357611503614f8f565b602090810291909101810191909152604080518082019091526001600160d81b031984168152635f9b2d7160e11b9181019190915283518490600490811061154d5761154d614f8f565b602090810291909101810191909152604080518082019091526001600160d81b031983168152632395f19760e21b9181019190915283518490600590811061159757611597614f8f565b6020026020010181905250505090565b60055460408051632395f19760e21b815290515f926001600160a01b031691638e57c65c916004808301928692919082900301818387803b1580156115ea575f80fd5b505af11580156115fc573d5f803e3d5ffd5b50506003546040516354e1d18560e11b81525f93506001600160a01b03909116915063a9c3a30a9061163390600190600401614d6e565b602060405180830381865afa15801561164e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116729190614d92565b6008546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156116bd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116e19190614d24565b90506116eb613ba6565b6116f59082614dab565b90506116ff6141a0565b61171c57604051630724404f60e11b815260040160405180910390fd5b60035460405163630369af60e01b81525f916001600160a01b03169063630369af9061174c908490600401614d6e565b6080604051808303815f875af1158015611768573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061178c9190614dbe565b60035460405163630369af60e01b81529195505f94506001600160a01b0316925063630369af91506117c390600190600401614d6e565b6080604051808303815f875af11580156117df573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118039190614dbe565b935050505080826118149190614dab565b61181e9084614dab565b6009546003546040516370a0823160e01b81526001600160a01b0391821660048201529295505f929116906370a0823190602401602060405180830381865afa15801561186d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118919190614d24565b60095f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119059190614d24565b61190f9190614d3b565b90505f6119486119416127107f0000000000000000000000000000000000000000000000000000000000000000614ce9565b8390613b30565b90506119548183614dab565b60035460405163509c1bd160e01b81529193506001600160a01b03169063509c1bd190611988906001908a90600401614f03565b6060604051808303815f875af11580156119a4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119c89190614f27565b50506003546001600160a01b0316905063509c1bd160026119f26119ea6105cf565b611004611d16565b6040518363ffffffff1660e01b8152600401611a0f929190614f03565b6060604051808303815f875af1158015611a2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a4f9190614f27565b50506003546008546040516370a0823160e01b81523060048201526001600160a01b0392831693506388826546925f928a929116906370a0823190602401602060405180830381865afa158015611aa8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611acc9190614d24565b611ad69190614d3b565b6040518363ffffffff1660e01b8152600401611af3929190614f59565b6060604051808303815f875af1158015611b0f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b339190614f27565b50506003546040516340c10f1960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820185905290911691506340c10f19906044015f604051808303815f87803b158015611ba1575f80fd5b505af1158015611bb3573d5f803e3d5ffd5b5050505081611bc06110f1565b1015611bdf57604051631f84400760e31b815260040160405180910390fd5b60408051838152602081018390527f1cd19c9bba61405ce64ab66214939cbda8d8bd69579a43f2789140288e67b10191015b60405180910390a16001965050505050505090565b6040805160c0810182525f80825260208201819052818301819052606082018190526080820181905260a08201526003549151636f6781d360e01b815290916001600160a01b031690636f6781d390611c83908590600401614d6e565b60c060405180830381865afa158015611c9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611cc29190614fa3565b92915050565b6001546001600160a01b03163314611d115760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064016112e2565b600c55565b6007545f908190611d299060020b6137bb565b90505f611d43826001600160a01b0316600160601b613ae3565b90505f611dcc611d538384613b30565b60035f9054906101000a90046001600160a01b03166001600160a01b0316639fd57c116040518163ffffffff1660e01b8152600401602060405180830381865afa158015611da3573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dc79190614d24565b613ae3565b90506002611de9611de4611ddf84614458565b614470565b61468b565b611df490600361503a565b61066a9190615065565b5f80600760069054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611e51573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e759190614e56565b5050600354604051632fcc4dd960e21b81529496505f95506001600160a01b03169363bf3137649350611eaf925060029150600401614d6e565b6040805180830381865afa158015611ec9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611eed919061508a565b509050611ef861132f565b600754611f0f91906301000000900460020b614c99565b60020b8260020b128015611f2857508060020b8260020b125b9250505090565b6001546001600160a01b03163314611f785760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064016112e2565b600a55565b6001546001600160a01b03163314611fc65760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064016112e2565b6009805462ffffff909216600160b81b0262ffffff60b81b19909216919091179055565b5f546060906001600160a01b031633146120195760405163053e900f60e21b81523360048201526024016112e2565b60408051600380825260808201909252906020820160608036833701905050905064109413d3d360da1b815f8151811061205557612055614f8f565b6001600160d81b03199092166020928302919091019091015261207d6410d491511560da1b90565b8160018151811061209057612090614f8f565b6001600160d81b0319909216602092830291909101909101526120b8644c4f4f505360d81b90565b816002815181106120cb576120cb614f8f565b6001600160d81b0319909216602092830291909101909101526120fb6120f664109413d3d360da1b90565b6146a0565b600380546001600160a01b0319166001600160a01b039290921691909117905561212c6410d491511560da1b6146a0565b600480546001600160a01b0319166001600160a01b039290921691909117905561215d644c4f4f505360d81b6146a0565b600580546001600160a01b0319166001600160a01b03928316179055600354604080516316f0115b60e01b8152905191909216916316f0115b9160048083019260209291908290030181865afa1580156121b9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121dd91906150c2565b600780547fffffffffffff0000000000000000000000000000000000000000ffffffffffff1666010000000000006001600160a01b0393841602179055600354604080516346ca626b60e01b8152905191909216916346ca626b9160048083019260209291908290030181865afa15801561225a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061227e9190614f74565b600960146101000a81548162ffffff021916908360020b62ffffff1602179055505f80600760069054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156122f2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123169190614e56565b505050505091509150816001600160a01b03165f03612348576040516314e2ff0f60e21b815260040160405180910390fd5b600354604051632fcc4dd960e21b81525f9182916001600160a01b039091169063bf3137649061237d90600190600401614d6e565b6040805180830381865afa158015612397573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906123bb919061508a565b915091508060020b8260020b141580156123ea57508160020b8360020b12806123ea57508060020b8360020b12155b156124085760405163d88497bf60e01b815260040160405180910390fd5b60035f9054906101000a90046001600160a01b03166001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612458573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061247c91906150c2565b600880546001600160a01b0319166001600160a01b039283161790556003546040805163b8ab24bd60e01b81529051919092169163b8ab24bd9160048083019260209291908290030181865afa9250505080156124f6575060408051601f3d908101601f191682019092526124f3918101906150c2565b60015b61252157600354600980546001600160a01b0319166001600160a01b03909216919091179055612542565b600980546001600160a01b0319166001600160a01b03929092169190911790555b60035f9054906101000a90046001600160a01b03166001600160a01b031663cd3293de6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612592573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906125b691906150c2565b60035460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015612605573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126299190614d0b565b5060095460035460405163095ea7b360e01b81526001600160a01b0391821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af115801561267c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126a09190614d0b565b5060035460408051635668e65360e11b815290515f926001600160a01b03169163acd1cca69160048083019260209291908290030181865afa1580156126e8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061270c9190614f74565b60078054630100000062ffffff90931692830265ffffffffffff19909116909217919091179055505042600655509192915050565b5f61274a611dfe565b61275357505f90565b60055f9054906101000a90046001600160a01b03166001600160a01b0316638e57c65c6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561279f575f80fd5b505af11580156127b1573d5f803e3d5ffd5b5050600354604051636f6781d360e01b81525f93506001600160a01b039091169150636f6781d3906127e890600190600401614d6e565b60c060405180830381865afa158015612803573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128279190614fa3565b6080015190505f6128366105cf565b6008546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015612881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128a59190614d24565b90506128af613ba6565b6128b99082614dab565b6009546003546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa158015612908573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061292c9190614d24565b60095f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561297c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906129a09190614d24565b6129aa9190614d3b565b90506129b4613d24565b60035460405163630369af60e01b81525f916001600160a01b03169063630369af906129e590600190600401614d6e565b6080604051808303815f875af1158015612a01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a259190614dbe565b60035460405163630369af60e01b81529195505f94506001600160a01b0316925063630369af9150612a5c90600290600401614d6e565b6080604051808303815f875af1158015612a78573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a9c9190614dbe565b93505050508082612aad9190614dab565b612ab79085614dab565b93505f612ac46001611c26565b90505f600760069054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612b18573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612b3c9190614e56565b505060035460208801516040808a015190516373a3a78f60e01b81529798505f976001600160a01b0390931696506373a3a78f9550612bac9450909250908e9088906004016001600160a01b03948516815292841660208401526040830191909152909116606082015260800190565b602060405180830381865afa158015612bc7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612beb9190614d92565b9050612bf78189613fa7565b60035460405163509c1bd160e01b81529192506001600160a01b03169063509c1bd190612c2b906001908590600401614f03565b6060604051808303815f875af1158015612c47573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c6b9190614f27565b50506003546008546040516370a0823160e01b81523060048201526001600160a01b0392831693506388826546925f928c929116906370a0823190602401602060405180830381865afa158015612cc4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ce89190614d24565b612cf29190614d3b565b6040518363ffffffff1660e01b8152600401612d0f929190614f59565b6060604051808303815f875af1158015612d2b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d4f9190614f27565b50506003546001600160a01b0316905063509c1bd16002612d728b611004611d16565b6040518363ffffffff1660e01b8152600401612d8f929190614f03565b6060604051808303815f875af1158015612dab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dcf9190614f27565b50505085612ddb6110f1565b1015612dfa57604051631f84400760e31b815260040160405180910390fd5b6040518681527ff2df2c30e167c089dd3bf08311c8bb71119ff845ab01f96df22a6fca1946c58d9060200160405180910390a16001995050505050505050505090565b6001546001600160a01b03163314612e865760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064016112e2565b600b55565b5f80600760069054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015612ede573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f029190614e56565b5050600354604051632fcc4dd960e21b81529496505f95506001600160a01b03169363bf3137649350612f3c925060029150600401614d6e565b6040805180830381865afa158015612f56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f7a919061508a565b9150508060020b8260020b128015611f285750612f9561132f565b600754612fa5919060020b6150dd565b60020b8260020b12159250505090565b6001546001600160a01b03163314612ffe5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064016112e2565b6002546001600160a01b0316156130a35760025460085461302c916001600160a01b0391821691165f614749565b60095460025460405163095ea7b360e01b81526001600160a01b0391821660048201525f602482015291169063095ea7b3906044016020604051808303815f875af115801561307d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130a19190614d0b565b505b6001600160a01b03811615613140576008546130ca906001600160a01b0316825f19614749565b60095460405163095ea7b360e01b81526001600160a01b0383811660048301525f1960248301529091169063095ea7b3906044016020604051808303815f875af115801561311a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061313e9190614d0b565b505b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146131ab5760405162461bcd60e51b815260206004820152600c60248201526b15539055551213d49256915160a21b60448201526064016112e2565b600180546001600160a01b0319166001600160a01b03831690811790915560405133907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a350565b5f6131ff61130c565b61320857505f90565b60055f9054906101000a90046001600160a01b03166001600160a01b0316638e57c65c6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015613254575f80fd5b505af1158015613266573d5f803e3d5ffd5b505042600655505f90506132786105cf565b6003546040516354e1d18560e11b81529192505f916132f5916001600160a01b03169063a9c3a30a906132b090600190600401614d6e565b602060405180830381865afa1580156132cb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906132ef9190614d92565b83613fa7565b6008546040516370a0823160e01b81523060048201529192505f916001600160a01b03909116906370a0823190602401602060405180830381865afa158015613340573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133649190614d24565b905061336e613ba6565b6133789082614dab565b6009546003546040516370a0823160e01b81526001600160a01b0391821660048201529293505f929116906370a0823190602401602060405180830381865afa1580156133c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133eb9190614d24565b60095f9054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561343b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061345f9190614d24565b6134699190614d3b565b90506134736147da565b60035460405163630369af60e01b81525f916001600160a01b03169063630369af906134a490600190600401614d6e565b6080604051808303815f875af11580156134c0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906134e49190614dbe565b60035460405163630369af60e01b81529195505f94506001600160a01b0316925063630369af915061351b90600290600401614d6e565b6080604051808303815f875af1158015613537573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061355b9190614dbe565b9350505050808261356c9190614dab565b6135769085614dab565b60035460405163509c1bd160e01b81529195506001600160a01b03169063509c1bd1906135aa906001908990600401614f03565b6060604051808303815f875af11580156135c6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906135ea9190614f27565b50506003546001600160a01b0316905063509c1bd1600261360d89611004611d16565b6040518363ffffffff1660e01b815260040161362a929190614f03565b6060604051808303815f875af1158015613646573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061366a9190614f27565b50506003546008546040516370a0823160e01b81523060048201526001600160a01b0392831693506388826546925f9289929116906370a0823190602401602060405180830381865afa1580156136c3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906136e79190614d24565b6136f19190614d3b565b6040518363ffffffff1660e01b815260040161370e929190614f59565b6060604051808303815f875af115801561372a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061374e9190614f27565b5050508261375a6110f1565b101561377957604051631f84400760e31b815260040160405180910390fd5b6007546006546040805160029390930b835260208301919091527fbe684552a60b0df1fd18558de3a6496e051c1bed91169108823bb6253b003fa69101611c11565b5f805f8360020b126137d0578260020b6137d7565b8260020b5f035b9050620d89e88111156137fd576040516315e4079d60e11b815260040160405180910390fd5b5f816001165f0361381f57700100000000000000000000000000000000613831565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615613865576ffff97272373d413259a46990580e213a0260801c5b6004821615613884576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156138a3576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156138c2576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156138e1576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615613900576fff2ea16466c96a3843ec78b326b528610260801c5b608082161561391f576ffe5dee046a99a2a811c461f1969c30530260801c5b61010082161561393f576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561395f576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561397f576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561399f576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156139bf576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156139df576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156139ff576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615613a1f576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615613a40576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615613a60576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615613a7f576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615613a9c576b048a170391f7dc42444e8fa20260801c5b5f8460020b1315613abb57805f1981613ab757613ab7614cd5565b0490505b640100000000810615613acf576001613ad1565b5f5b60ff16602082901c0192505050919050565b5f7812725dd1d243aba0e75fe645cc4873f9e65afe688c928e1f218311670de0b6b3a764000002158202613b1e57637c5f487d5f526004601cfd5b50670de0b6b3a7640000919091020490565b5f815f19048311820215613b4b5763bac65e5b5f526004601cfd5b50670de0b6b3a764000091020490565b5f826001600160a01b0316846001600160a01b03161115613b7a579192915b613b9c613b9783600160601b8787036001600160a01b0316614966565b614a10565b90505b9392505050565b60035460405163630369af60e01b81525f9182916001600160a01b039091169063630369af90613bda908490600401614d6e565b6080604051808303815f875af1158015613bf6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c1a9190614dbe565b60035460405163630369af60e01b81529195505f94506001600160a01b0316925063630369af9150613c5190600190600401614d6e565b6080604051808303815f875af1158015613c6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613c919190614dbe565b60035460405163630369af60e01b81529195505f94506001600160a01b0316925063630369af9150613cc890600290600401614d6e565b6080604051808303815f875af1158015613ce4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d089190614dbe565b9350505050808284613d1a9190614dab565b61066a9190614dab565b60035460408051635668e65360e11b815290515f926001600160a01b03169163acd1cca69160048083019260209291908290030181865afa158015613d6b573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d8f9190614f74565b6007805465ffffff0000001916630100000062ffffff8416021790819055909150600290810b9082900b1315613dd7576007805462ffffff191662ffffff8316179055426006555b600354604051632fcc4dd960e21b81525f916001600160a01b03169063bf31376490613e07908490600401614d6e565b6040805180830381865afa158015613e21573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613e45919061508a565b6009549092505f9150613e8190613e7190600160a01b8104600290810b91600160b81b9004900b615102565b613e7b9085614c99565b83614a2a565b600354600754604051635f9b2d7160e11b81529293506001600160a01b039091169163bf365ae291613ec191600191869160029190910b90600401615121565b5f604051808303815f87803b158015613ed8575f80fd5b505af1158015613eea573d5f803e3d5ffd5b50506003546007546009546001600160a01b03909216935063bf365ae2925060029190820b90613f2490600160a01b9004830b6064615102565b600754613f34919060020b6150dd565b6040518463ffffffff1660e01b8152600401613f5293929190615121565b5f604051808303815f87803b158015613f69575f80fd5b505af1158015613f7b573d5f803e3d5ffd5b50505050505050565b5f613b9f836001600160a01b0316836001600160a01b0316808218908210021890565b5f613b9f836001600160801b0316836001600160801b0316808218908211021890565b5f613b9f6001600160801b03841683613b30565b600354604051632fcc4dd960e21b81525f9182916001600160a01b039091169063bf31376490614012908490600401614d6e565b6040805180830381865afa15801561402c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614050919061508a565b600354604051632fcc4dd960e21b81529193505f92506001600160a01b03169063bf3137649061408590600190600401614d6e565b6040805180830381865afa15801561409f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906140c3919061508a565b5090505f600760069054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015614118573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061413c9190614e56565b50505050509150505f61414d614a41565b90508160020b8160020b13801561416957508260020b8160020b135b8015614186575060075463010000009004600290810b9082900b12155b80156112b157508360020b8160020b121594505050505090565b5f80600760069054906101000a90046001600160a01b03166001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156141f3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906142179190614e56565b5050600354604051632fcc4dd960e21b81529496505f95506001600160a01b03169363bf31376493506142509250859150600401614d6e565b6040805180830381865afa15801561426a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061428e919061508a565b600354604051632fcc4dd960e21b81529193505f925082916001600160a01b039091169063bf313764906142c790600190600401614d6e565b6040805180830381865afa1580156142e1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614305919061508a565b60095491935091505f9061432390600160a01b900460020b856150dd565b60095490915061433d90600160a01b900460020b83614c99565b60020b8160020b138061435557508460020b8160020b135b80614370575060075463010000009004600290810b9082900b135b15614380575f9550505050505090565b600354604051635f9b2d7160e11b81526001600160a01b039091169063bf365ae2906143b4905f9088908690600401615121565b5f604051808303815f87803b1580156143cb575f80fd5b505af11580156143dd573d5f803e3d5ffd5b50506003546001600160a01b0316915063bf365ae2905060016144008487614a2a565b856040518463ffffffff1660e01b815260040161441f93929190615121565b5f604051808303815f87803b158015614436575f80fd5b505af1158015614448573d5f803e3d5ffd5b5050505060019550505050505090565b5f600160ff1b821061446c5761446c614b39565b5090565b6001600160801b03811160071b81811c67ffffffffffffffff1060061b1781811c63ffffffff1060051b1781811c61ffff1060041b1781811c60ff1060031b175f82136144c457631615e6385f526004601cfd5b7ff8f9f9faf9fdfafbf9fdfcfdfafbfcfef9fafdfafcfcfbfefafafcfbffffffff6f8421084210842108cc6318c6db6d54be83831c1c601f161a1890811b609f90811c6c465772b2bbbb5f824b15207a3081018102606090811d6d0388eaa27412d5aca026815d636e018202811d6d0df99ac502031bf953eff472fdcc018202811d6d13cdffb29d51d99322bdff5f2211018202811d6d0a0f742023def783a307a986912e018202811d6d01920d8043ca89b5239253284e42018202811d6c0b7a86d7375468fac667a0a527016c29508e458543d8aa4df2abee7883018302821d6d0139601a2efabe717e604cbb4894018302821d6d02247f7a7b6594320649aa03aba1018302821d6c8c3f38e95a6b1ff2ab1c3b343619018302821d6d02384773bdf1ac5676facced60901901830290911d6cb9a025d814b29c212b8b1a07cd19019091027ffffffffffffffff5f6af8f7b3396644f18e157960000000000000000000000000105711340daa0d5f769dba1915cef59f0815a5506029190037d0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b302017d57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b88642840160ae1d90565b5f81600f81900b8114611cc257611cc2614b39565b5f8054604051632d37002d60e21b81526001600160d81b03198416600482015282916001600160a01b03169063b4dc00b490602401602060405180830381865afa1580156146f0573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061471491906150c2565b90506001600160a01b038116611cc257604051635c3fa9cd60e01b81526001600160d81b0319841660048201526024016112e2565b5f60405163095ea7b360e01b81526001600160a01b038416600482015282602482015260205f6044835f895af13d15601f3d1160015f5114161716915050806147d45760405162461bcd60e51b815260206004820152600e60248201527f415050524f56455f4641494c454400000000000000000000000000000000000060448201526064016112e2565b50505050565b600354604051632fcc4dd960e21b81525f916001600160a01b03169063bf3137649061480b90600190600401614d6e565b6040805180830381865afa158015614825573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614849919061508a565b509050614854614a41565b6007805462ffffff191662ffffff929092169190911790819055600354604051635f9b2d7160e11b81526001600160a01b039091169163bf365ae2916148a591600191869160020b90600401615121565b5f604051808303815f87803b1580156148bc575f80fd5b505af11580156148ce573d5f803e3d5ffd5b50506003546007546009546001600160a01b03909216935063bf365ae2925060029190820b9061490890600160a01b9004830b6064615102565b600754614918919060020b6150dd565b6040518463ffffffff1660e01b815260040161493693929190615121565b5f604051808303815f87803b15801561494d575f80fd5b505af115801561495f573d5f803e3d5ffd5b5050505050565b5f80805f19858709858702925082811083820303915050805f0361499a575f841161498f575f80fd5b508290049050613b9f565b8084116149a5575f80fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b806001600160801b0381168114614a25575f80fd5b919050565b5f613b9f8360020b8360020b808218908212021890565b5f8060035f9054906101000a90046001600160a01b03166001600160a01b031663acd1cca66040518163ffffffff1660e01b8152600401602060405180830381865afa158015614a93573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190614ab79190614f74565b6009546007549192505f91600160a01b909104600290810b91614add918591900b614c99565b614ae79190615149565b62ffffff1690505f614b04600c5483613b3090919063ffffffff16565b614b0f9060016150dd565b600954909150614b2990600160a01b900460020b82615102565b60075461066a919060020b614c99565b6335278d125f526004601cfd5b6001600160a01b0381168114614b5a575f80fd5b50565b5f60208284031215614b6d575f80fd5b8135613b9f81614b46565b602080825282518282018190525f919060409081850190868401855b82811015614bcd57815180516001600160d81b03191685528601516001600160e01b031916868501529284019290850190600101614b94565b5091979650505050505050565b5f60208284031215614bea575f80fd5b813560038110613b9f575f80fd5b5f60208284031215614c08575f80fd5b5035919050565b8060020b8114614b5a575f80fd5b5f60208284031215614c2d575f80fd5b8135613b9f81614c0f565b602080825282518282018190525f9190848201906040850190845b81811015614c795783516001600160d81b03191683529284019291840191600101614c53565b50909695505050505050565b634e487b7160e01b5f52601160045260245ffd5b600282810b9082900b03627fffff198112627fffff82131715611cc257611cc2614c85565b8082028115828204841417611cc257611cc2614c85565b634e487b7160e01b5f52601260045260245ffd5b5f82614cf757614cf7614cd5565b500490565b80518015158114614a25575f80fd5b5f60208284031215614d1b575f80fd5b613b9f82614cfc565b5f60208284031215614d34575f80fd5b5051919050565b81810381811115611cc257611cc2614c85565b60038110614d6a57634e487b7160e01b5f52602160045260245ffd5b9052565b60208101611cc28284614d4e565b80516001600160801b0381168114614a25575f80fd5b5f60208284031215614da2575f80fd5b613b9f82614d7c565b80820180821115611cc257611cc2614c85565b5f805f8060808587031215614dd1575f80fd5b505082516020840151604085015160609095015191969095509092509050565b6001600160801b03828116828216039080821115614e1157614e11614c85565b5092915050565b5f8060408385031215614e29575f80fd5b505080516020909101519092909150565b8051614a2581614b46565b805161ffff81168114614a25575f80fd5b5f805f805f805f60e0888a031215614e6c575f80fd5b8751614e7781614b46565b6020890151909750614e8881614c0f565b9550614e9660408901614e45565b9450614ea460608901614e45565b9350614eb260808901614e45565b925060a088015160ff81168114614ec7575f80fd5b9150614ed560c08901614cfc565b905092959891949750929550565b6001600160801b03818116838216019080821115614e1157614e11614c85565b60408101614f118285614d4e565b6001600160801b03831660208301529392505050565b5f805f60608486031215614f39575f80fd5b8351925060208401519150614f5060408501614d7c565b90509250925092565b60408101614f678285614d4e565b8260208301529392505050565b5f60208284031215614f84575f80fd5b8151613b9f81614c0f565b634e487b7160e01b5f52603260045260245ffd5b5f60c08284031215614fb3575f80fd5b60405160c0810181811067ffffffffffffffff82111715614fe257634e487b7160e01b5f52604160045260245ffd5b604052614fee83614d7c565b8152614ffc60208401614e3a565b602082015261500d60408401614e3a565b6040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b6001600160801b0381811683821602808216919082811461505d5761505d614c85565b505092915050565b5f6001600160801b038084168061507e5761507e614cd5565b92169190910492915050565b5f806040838503121561509b575f80fd5b82516150a681614c0f565b60208401519092506150b781614c0f565b809150509250929050565b5f602082840312156150d2575f80fd5b8151613b9f81614b46565b600281810b9083900b01627fffff8113627fffff1982121715611cc257611cc2614c85565b5f8260020b8260020b028060020b9150808214614e1157614e11614c85565b6060810161512f8286614d4e565b8360020b60208301528260020b6040830152949350505050565b5f8160020b8360020b8061515f5761515f614cd5565b627fffff1982145f198214161561517857615178614c85565b9005939250505056fea26469706673582212204a512f508cd22e8e6f0bdb91456a82a9034dc69905232a109c0660ab42191ccd64736f6c63430008170033000000000000000000000000aa26736ec55204c8f6030978540f170222e00a75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000