18 txs
132 calls
constructor
constructor()
functions
AcceptTime
viewfunction AcceptTime() view returns (uint256)
ActiveArbtr
viewfunction ActiveArbtr(uint256) view returns (address)
ActiveArbtrIndex
viewfunction ActiveArbtrIndex(address) view returns (uint256)
ActiveTime
viewfunction ActiveTime() view returns (uint256)
AddrForCaseId
viewfunction AddrForCaseId(address, uint256) view returns (uint256)
ArbDatabaseAddr
viewfunction ArbDatabaseAddr() view returns (address)
ArbLogIdForCaseId
viewfunction ArbLogIdForCaseId(uint256) view returns (uint256)
ArbScoreAddress
viewfunction ArbScoreAddress() view returns (address)
Arbtr
viewfunction Arbtr(address) view returns (bool IsReg, uint256 TotalCases, uint256 Complete, uint256 CorrectVotes, uint256 TotalAmount, uint256 ViewScore, uint256 Score, bool IsPaused)
ArbtrList
viewfunction ArbtrList(uint256) view returns (address)
ArbtrManagerAddress
viewfunction ArbtrManagerAddress() view returns (address)
CalTopLowScoreType
viewfunction CalTopLowScoreType() view returns (uint256)
CanVoteCase
viewfunction CanVoteCase(uint256 _case_id, address _arbitrator) view returns (bool)
CaseAcceptRes
viewfunction CaseAcceptRes(uint256, address) view returns (bool)
CaseArbtr
viewfunction CaseArbtr(uint256, address) view returns (bool)
CaseDataLists
viewfunction CaseDataLists(uint256) view returns (uint256 order_id, uint256 arb_id, uint256 arb_log_id, uint256 amount, uint256 arb_num, uint256 is_support, uint256 is_wait_vote, uint256 vote_time, uint256 addtime)
CaseForArbId
viewfunction CaseForArbId(uint256, uint256) view returns (uint256)
CaseForArbtr
viewfunction CaseForArbtr(uint256, uint256) view returns (address)
CaseForOderId
viewfunction CaseForOderId(uint256, uint256) view returns (uint256)
CaseId
viewfunction CaseId() view returns (uint256)
Default_ArbtrList
viewfunction Default_ArbtrList(uint256) view returns (address)
get_arbtr_pending_cases
viewfunction get_arbtr_pending_cases(address a, uint256 _s, uint256 _e) view returns (bool)
GetActiveArbtrLength
viewfunction GetActiveArbtrLength() view returns (uint256)
GetAddrForCaseIdLength
viewfunction GetAddrForCaseIdLength(address _addr) view returns (uint256)
GetAllArbtrLength
viewfunction GetAllArbtrLength() view returns (uint256)
GetArbtrCaseByIndex
viewfunction GetArbtrCaseByIndex(address _arbtr, uint256 _index) view returns (uint256)
GetCaseForArbIdLength
viewfunction GetCaseForArbIdLength(uint256 _arb_id) view returns (uint256)
GetCaseForArbtrLength
viewfunction GetCaseForArbtrLength(uint256 _case_id) view returns (uint256)
GetCaseForOderIdLength
viewfunction GetCaseForOderIdLength(uint256 _order_id) view returns (uint256)
GetCaseVoteEndTime
viewfunction GetCaseVoteEndTime(uint256 _case_id) view returns (uint256)
GetCurrentTopCount
viewfunction GetCurrentTopCount() view returns (uint256)
GetDefaultArbtrLength
viewfunction GetDefaultArbtrLength() view returns (uint256)
GetOrder_ArbtrListsLength
viewfunction GetOrder_ArbtrListsLength(uint256 _case_id) view returns (uint256)
IsActiveArbtr
viewfunction IsActiveArbtr(address) view returns (bool)
IsCaseOrderIdArbtr
viewfunction IsCaseOrderIdArbtr(uint256, address) view returns (bool)
IsDefaultArbtr
viewfunction IsDefaultArbtr(address) view returns (bool)
Order_ArbtrLists
viewfunction Order_ArbtrLists(uint256, uint256) view returns (address)
owner
viewfunction owner() view returns (address)
PendingUpdates
viewfunction PendingUpdates() view returns (uint256)
TIER_3_THRESHOLD
viewfunction TIER_3_THRESHOLD() view returns (uint256)
TopLowScore
viewfunction TopLowScore() view returns (uint256)
TopLowScorePre
viewfunction TopLowScorePre() view returns (uint256)
TopPercent
viewfunction TopPercent() view returns (uint256)
TotalActiveScore
viewfunction TotalActiveScore() view returns (uint256)
UpdateThreshold
viewfunction UpdateThreshold() view returns (uint256)
UserCheckInLists
viewfunction UserCheckInLists(address) view returns (uint256 addtime, bool is_active, bool is_valid)
ValidTime
viewfunction ValidTime() view returns (uint256)
accept_case_replace
nonpayablefunction accept_case_replace(uint256 _case_id, address _no_addr)
accept_case
nonpayablefunction accept_case(uint256 _case_id)
add_default_Arbtr
nonpayablefunction add_default_Arbtr(address _Arbtr)
assign_Arbtr
nonpayablefunction assign_Arbtr(uint256 _order_id, uint256 _arb_id, uint256 _arb_log_id, uint256 _amount, uint256 _vote_time, uint256 _num, address _from_addr, address _to_addr) returns (address[], uint256)
CheckIn
nonpayablefunction CheckIn(address check_addr)
CheckUserExpiration
nonpayablefunction CheckUserExpiration(address[] _addr)
complete_case
nonpayablefunction complete_case(uint256 _case_id, uint256 _is_support, uint256 pass_num, uint256 reject_num)
ForceUpdateTopLowScore
nonpayablefunction ForceUpdateTopLowScore()
increment_arbtr_stats
nonpayablefunction increment_arbtr_stats(address _arbtr, uint256 _correctVotes, uint256 _complete, uint256 _totalAmount)
pause_Arbtr_external
nonpayablefunction pause_Arbtr_external(address _Arbtr, bool _isPaused)
register_Arbtr_external
nonpayablefunction register_Arbtr_external(address _Arbtr, uint256 _initialScore)
remove_default_Arbtr
nonpayablefunction remove_default_Arbtr(address _Arbtr)
SetAddr
nonpayablefunction SetAddr(address _ArbtrManager, address _ArbDatabase, address _ArbScoreAddress)
SetNum
nonpayablefunction SetNum(uint256 _topPercent, uint256 _CalTopLowScoreType, uint256 _TopLowScorePre, uint256 _threshold)
SetTime
nonpayablefunction SetTime(uint256 _newAcceptTime, uint256 _ActiveTime, uint256 _ValidTime)
SetTopLowScoreManually
nonpayablefunction SetTopLowScoreManually(uint256 _newTopLowScore)
simulate_score_with_data
nonpayablefunction simulate_score_with_data(address _arbtr, uint256 _total_cases)
transfer_ownership
nonpayablefunction transfer_ownership(address _new_owner)
update_arbtr_score
nonpayablefunction update_arbtr_score(address _arbtr, uint256 _newScore)
update_arbtr_view_score
nonpayablefunction update_arbtr_view_score(address _arbtr, uint256 _newViewScore)
UpdateTopLowScoreByRange
nonpayablefunction UpdateTopLowScoreByRange() returns (uint256, uint256)
events
ArbtrCheckIn
event ArbtrCheckIn(address indexed _Arbtr)
ArbtrRegistered
event ArbtrRegistered(address indexed _Arbtr)
CaseAccepted
event CaseAccepted(uint256 indexed _case_id, uint256 indexed _order_id, uint256 indexed _arb_log_id, address _Arbtr)
CaseAssigned
event CaseAssigned(uint256 indexed _case_id, uint256 indexed _order_id, uint256 _arb_id, uint256 indexed _arb_log_id, address[] _Arbtr)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PendingUpdateIncreased
event PendingUpdateIncreased(uint256 _pendingCount)
TopLowScoreUpdated
event TopLowScoreUpdated(uint256 _OldScore, uint256 _newScore)
UserAddedToList
event UserAddedToList(address indexed _user, uint256 type_id, bool is_add, uint256 score)
ValidArbtrCleaned
event ValidArbtrCleaned(address indexed _arbtr, bool _removedFromValid, bool _removedFromActive)
VoteCompleted
event VoteCompleted(uint256 indexed caseId, uint256 indexed arbLogId, uint256 support, uint256 passVotes, uint256 rejectVotes)
errors
No errors.
creation bytecode
0x608060405260016014819055600a6016555f601a8190556028601b55601c55601d81905562015180601e819055601f5562093a806020556021556022805460ff1916905534801561004e575f80fd5b505f80546001600160a01b0319163317905560018055614ae5806100715f395ff3fe608060405234801561000f575f80fd5b50600436106103ea575f3560e01c80637e276b4c1161020b578063a9b3a57b1161011f578063da3a33db116100b4578063f0350c0411610084578063f0350c0414610a45578063f396170114610a58578063f9064ec914610a6b578063fb96eac814610a74578063fee517df14610aa1575f80fd5b8063da3a33db146109bd578063db460d1d146109d0578063dea069cf146109e3578063e1797594146109f6575f80fd5b8063c74b5a2a116100ef578063c74b5a2a14610943578063cbd1596014610962578063ce3d8d361461097f578063d57e25e21461099e575f80fd5b8063a9b3a57b146108db578063bb83d92a146108fa578063bde31b531461090d578063c1f25fa21461093a575f80fd5b80638ade6009116101a057806393c510db1161017057806393c510db1461087a5780639a314d661461088d5780639e2ead15146108a0578063a6120035146108b3578063a7f9b20b146108bc575f80fd5b80638ade6009146108235780638ce99782146108365780638da5cb5b146108575780638f9393b814610867575f80fd5b806387b23abd116101db57806387b23abd146107d7578063895efdf9146107ea5780638a0623f4146107fd5780638a7d7c9214610810575f80fd5b80637e276b4c146107865780637e4170161461078e57806382d9ef1a146107bb5780638653eca2146107c4575f80fd5b80634874bbed116103025780635b0f382a11610297578063647ff98111610267578063647ff9811461068b57806369d26aee146106945780636d8134b41461072957806377a036291461073c5780637db520021461075e575f80fd5b80635b0f382a146106545780635b9ce9171461065d5780635ba5c2391461067057806361f1aa9b14610683575f80fd5b8063544df8ce116102d2578063544df8ce14610627578063565051151461063057806357ab39fd146106385780635adff4d214610641575f80fd5b80634874bbed1461053a57806348c2182e1461054d5780635071d8441461056057806350b4c273146105fc575f80fd5b80631c3dd79a1161038357806334178dd91161035357806334178dd9146104d95780633a81a4f8146104e25780633adcacb0146105015780634498f5141461051457806346df762f14610527575f80fd5b80631c3dd79a146104a2578063264d622e146104b55780632a3ff8df146104bd5780633046e994146104d0575f80fd5b806313def1e4116103be57806313def1e4146104605780631723173f146104735780631830d6ae1461047c57806319bd8abf1461048f575f80fd5b8062bb6e92146103ee57806305a352b914610411578063112399ac1461044357806311ccfd611461044b575b5f80fd5b6103fe683635c9adc5dea0000081565b6040519081526020015b60405180910390f35b61043361041f36600461455d565b60186020525f908152604090205460ff1681565b6040519015158152602001610408565b6011546103fe565b61045e610459366004614576565b610ab4565b005b61043361046e36600461458d565b610b1c565b6103fe601b5481565b61045e61048a3660046145bd565b610de5565b61045e61049d3660046145f3565b610ec3565b6103fe6104b036600461461c565b610efa565b61045e610f25565b61045e6104cb36600461463c565b611138565b6103fe60145481565b6103fe60155481565b6103fe6104f036600461455d565b60176020525f908152604090205481565b61045e61050f36600461455d565b6111a0565b61045e610522366004614689565b611289565b61045e6105353660046146be565b611372565b61045e6105483660046146ed565b6113af565b61045e61055b3660046146ed565b6113f6565b6105b861056e366004614576565b6007602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154908060060154908060070154908060080154905089565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c084015260e083015261010082015261012001610408565b61060f61060a366004614576565b611463565b6040516001600160a01b039091168152602001610408565b6103fe60205481565b6013546103fe565b6103fe601a5481565b61060f61064f366004614576565b61148b565b6103fe601d5481565b61045e61066b3660046146be565b61149a565b61045e61067e366004614715565b6115a9565b6012546103fe565b6103fe601f5481565b6106ea6106a236600461455d565b600560208190525f91825260409091208054600182015460028301546003840154600485015495850154600686015460079096015460ff958616979496939592949391921688565b6040805198151589526020890197909752958701949094526060860192909252608085015260a084015260c0830152151560e082015261010001610408565b6103fe6107373660046146ed565b6115ea565b61043361074a36600461455d565b60196020525f908152604090205460ff1681565b6103fe61076c36600461455d565b6001600160a01b03165f908152600d602052604090205490565b6103fe611603565b61043361079c366004614784565b600860209081525f928352604080842090915290825290205460ff1681565b6103fe60215481565b61060f6107d236600461461c565b611611565b61045e6107e53660046146ed565b611645565b6103fe6107f8366004614576565b6116b9565b6103fe61080b3660046146ed565b6116e2565b61045e61081e366004614576565b6117e2565b61060f61083136600461461c565b611922565b6108496108443660046147ae565b61193b565b604051610408929190614859565b5f546001600160a01b031661060f565b60035461060f906001600160a01b031681565b61060f610888366004614576565b611a5d565b61043361089b366004614784565b611a6c565b61045e6108ae36600461455d565b611c00565b6103fe601e5481565b6103fe6108ca366004614576565b5f908152600e602052604090205490565b6103fe6108e9366004614576565b5f908152600b602052604090205490565b61045e61090836600461455d565b611d74565b61043361091b366004614784565b600f60209081525f928352604080842090915290825290205460ff1681565b6103fe601c5481565b6103fe610951366004614576565b5f9081526009602052604090205490565b61096a611d8f565b60408051928352602083019190915201610408565b6103fe61098d366004614576565b5f908152600c602052604090205490565b6103fe6109ac366004614576565b60106020525f908152604090205481565b61045e6109cb366004614784565b611e89565b61045e6109de3660046146ed565b612342565b6103fe6109f136600461461c565b6124ce565b610a28610a0436600461455d565b60066020525f90815260409020805460019091015460ff8082169161010090041683565b604080519384529115156020840152151590820152606001610408565b61045e610a5336600461455d565b6124e7565b60025461060f906001600160a01b031681565b6103fe60165481565b610433610a82366004614784565b600a60209081525f928352604080842090915290825290205460ff1681565b60045461060f906001600160a01b031681565b5f546001600160a01b03163314610ae65760405162461bcd60e51b8152600401610add9061487a565b60405180910390fd5b601a8054908290555f601c5560408051828152602081018490525f80516020614a90833981519152910160405180910390a15050565b5f6001600160a01b0384161580610b4b57506001600160a01b0384165f9081526005602052604090205460ff16155b15610b5757505f610dde565b6001600160a01b0384165f908152600d6020908152604080832080548251818502810185019093528083529192909190830182828015610bb457602002820191905f5260205f20905b815481526020019060010190808311610ba0575b505050505090505f81519050805f03610bd1575f92505050610dde565b84158015610be05750600a8251115b15610bf657600a8251610bf391906148b1565b94505b831580610c035750838251115b15610c0d57815193505b42855b85811015610dd6575f848281518110610c2b57610c2b6148c4565b6020908102919091018101515f81815260078084526040808320815161012081018352815481526001820154818801526002820154818401526003820154606082015260048201546080820152600582015460a0820152600682015460c08201529281015460e084015260080154610100830152838352600a85528083206001600160a01b038f1684529094529290205490925060ff16158015610ce15750601e54816101000151610cdd91906148d8565b8411155b80610db857505f828152600a602090815260408083206001600160a01b038e16845290915290205460ff168015610d1c57508060c001516001145b8015610d98575060025460405163d373c77560e01b8152600481018490526001600160a01b038c811660248301529091169063d373c77590604401602060405180830381865afa158015610d72573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9691906148eb565b155b8015610db857508060e00151816101000151610db491906148d8565b8411155b15610dcc5760019650505050505050610dde565b5050600101610c10565b505f93505050505b9392505050565b6002546001600160a01b03163314610e0f5760405162461bcd60e51b8152600401610add90614906565b6001600160a01b0384165f9081526005602052604090205460ff1615610ebd576001600160a01b0384165f9081526005602052604081206003018054859290610e599084906148d8565b90915550506001600160a01b0384165f9081526005602052604081206002018054849290610e889084906148d8565b90915550506001600160a01b0384165f9081526005602052604081206004018054839290610eb79084906148d8565b90915550505b50505050565b5f546001600160a01b03163314610eec5760405162461bcd60e51b8152600401610add9061487a565b601e92909255601f55602055565b600b602052815f5260405f208181548110610f13575f80fd5b905f5260205f20015f91509150505481565b5f546001600160a01b03163314610f4e5760405162461bcd60e51b8152600401610add9061487a565b601b546012545f91606491610f639190614928565b610f6e9060326148d8565b610f789190614953565b9050805f03610f8857505f601a55565b6012545f9067ffffffffffffffff811115610fa557610fa5614966565b604051908082528060200260200182016040528015610fce578160200160208202803683370190505b5090505f805b6012548110156110ae575f60128281548110610ff257610ff26148c4565b5f918252602090912001546001600160a01b03169050801580159061103257506001600160a01b0381165f9081526005602052604090206007015460ff16155b801561105857506001600160a01b0381165f9081526006602052604090206001015460ff165b156110a5576001600160a01b0381165f90815260056020526040902060060154845185908590811061108c5761108c6148c4565b6020908102919091010152826110a18161497a565b9350505b50600101610fd4565b50805f036110bf5750505f601a5550565b8281116110cf5750505f601a5550565b5f6110f083826110e06001866148b1565b6110eb6001896148b1565b6125bf565b601a8054908290555f601c5590915080821461113157601a546040805183815260208101929092525f80516020614a90833981519152910160405180910390a15b5050505050565b5f546001600160a01b031633146111615760405162461bcd60e51b8152600401610add9061487a565b600380546001600160a01b039485166001600160a01b031991821617909155600480549385169382169390931790925560028054919093169116179055565b6003546001600160a01b031633146111ca5760405162461bcd60e51b8152600401610add90614992565b6001600160a01b0381165f9081526005602052604090205460ff168061120757506001600160a01b0381165f9081526019602052604090205460ff165b156112245760405162461bcd60e51b8152600401610add906149b3565b6001600160a01b03165f818152601960205260408120805460ff191660019081179091556013805491820181559091527f66de8ffda797e3de9c05e8fc57b3bf0ec28a930d40b0d285d93c06501cf6a0900180546001600160a01b0319169091179055565b6003546001600160a01b031633146112b35760405162461bcd60e51b8152600401610add90614992565b6001600160a01b0382165f9081526005602052604090205460ff166112ea5760405162461bcd60e51b8152600401610add906149b3565b6001600160a01b0382165f90815260056020526040902060070180548215801560ff1983161790925560ff16908290611321575080155b156113585761132f83612663565b6001600160a01b0383165f908152600560205260408120600601546113539161285c565b505050565b811580156113635750805b1561135357611353835f612917565b5f546001600160a01b0316331461139b5760405162461bcd60e51b8152600401610add9061487a565b601b93909355601491909155601655601d55565b5f546001600160a01b031633146113d85760405162461bcd60e51b8152600401610add9061487a565b6001600160a01b039091165f90815260056020526040902060010155565b6002546001600160a01b031633146114205760405162461bcd60e51b8152600401610add90614906565b6001600160a01b0382165f9081526005602052604090205460ff161561145f576001600160a01b0382165f908152600560208190526040909120018190555b5050565b60138181548110611472575f80fd5b5f918252602090912001546001600160a01b0316905081565b60128181548110611472575f80fd5b6002546001600160a01b031633146114c45760405162461bcd60e51b8152600401610add90614906565b5f8481526007602052604090819020600260068201819055600582018690556004805492909101549251635012ebb560e11b81526001600160a01b039092169263a025d76a9261151f92889101918252602082015260400190565b5f604051808303815f87803b158015611536575f80fd5b505af1158015611548573d5f803e3d5ffd5b5050505f8581526007602090815260409182902060020154825187815291820186905291810184905290915085907f906452118e0962d4fb630be9e0d8099ba57cb51e78c3c953b8b8f22ce96dce619060600160405180910390a350505050565b5f5b81811015611353576115e28383838181106115c8576115c86148c4565b90506020020160208101906115dd919061455d565b612a5c565b6001016115ab565b600d602052815f5260405f208181548110610f13575f80fd5b5f61160c612c13565b905090565b600e602052815f5260405f20818154811061162a575f80fd5b5f918252602090912001546001600160a01b03169150829050565b6002546001600160a01b0316331461166f5760405162461bcd60e51b8152600401610add90614906565b6001600160a01b0382165f9081526005602052604090205460ff161561145f576001600160a01b0382165f908152600560205260409020600601805490829055611353818361285c565b5f8181526007602081905260408220908101546008909101546116dc91906148d8565b92915050565b6001600160a01b0382165f908152600d6020526040812054821061173e5760405162461bcd60e51b8152602060048201526013602482015272496e646578206f7574206f6620626f756e647360681b6044820152606401610add565b6001600160a01b0383165f908152600d6020526040812054900361176357505f6116dc565b6001600160a01b0383165f908152600d602052604090205482106117a8576001600160a01b0383165f908152600d60205260409020546117a5906001906148b1565b91505b6001600160a01b0383165f908152600d602052604090208054839081106117d1576117d16148c4565b905f5260205f200154905092915050565b6117ea612ce5565b6021548110158061181457505f81815260086020908152604080832033845290915290205460ff16155b8061183757505f818152600a6020908152604080832033845290915290205460ff165b156118545760405162461bcd60e51b8152600401610add906149b3565b601e545f8281526007602052604090206008015461187291906148d8565b4211156118aa5760405162461bcd60e51b8152600401610add9060208082526004908201526354696d6560e01b604082015260600190565b5f818152600a6020908152604080832033808552908352818420805460ff19166001179055848452600783529281902060028101549054915193845292909184917f0c048229bdff584f33527c6ad00482031921f94bd25bcd8b4af69a24417d063a910160405180910390a461191f60018055565b50565b6009602052815f5260405f20818154811061162a575f80fd5b60605f611946612ce5565b6004546001600160a01b0316331461198a5760405162461bcd60e51b81526020600482015260076024820152664172624461746160c81b6044820152606401610add565b841580611995575089155b8061199e575086155b156119d45760405162461bcd60e51b8152600401610add9060208082526004908201526304e4f20360e41b604082015260600190565b5f806119e18c8787612d3e565b915091505f6119f38d8b8a8686613029565b905087815114611a2e5760405162461bcd60e51b81526020600482015260066024820152652727902632b760d11b6044820152606401610add565b5f611a3e8e8e8e8e8d8f88613073565b919550909350505050611a5060018055565b9850989650505050505050565b60118181548110611472575f80fd5b5f828152600a602090815260408083206001600160a01b038516845290915281205460ff16611a9c57505f6116dc565b5f8381526007602081815260409283902083516101208101855281548152600180830154938201939093526002820154948101949094526003810154606085015260048101546080850152600581015460a0850152600681015460c085018190529281015460e08501526008015461010084015214611b1e575f9150506116dc565b60025460405163d373c77560e01b8152600481018690526001600160a01b0385811660248301529091169063d373c77590604401602060405180830381865afa158015611b6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611b9191906148eb565b15611b9f575f9150506116dc565b6001600160a01b0383165f9081526019602052604090205460ff1680611bd157505f546001600160a01b038481169116145b15611be05760019150506116dc565b8060e00151816101000151611bf591906148d8565b421115949350505050565b6003546001600160a01b03163314611c2a5760405162461bcd60e51b8152600401610add90614992565b6001600160a01b0381165f9081526019602052604090205460ff16611c615760405162461bcd60e51b8152600401610add906149b3565b6001600160a01b0381165f908152601960205260408120805460ff191690555b60135481101561145f57816001600160a01b031660138281548110611ca857611ca86148c4565b5f918252602090912001546001600160a01b031603611d6c5760138054611cd1906001906148b1565b81548110611ce157611ce16148c4565b5f91825260209091200154601380546001600160a01b039092169183908110611d0c57611d0c6148c4565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055506013805480611d4857611d486149d7565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b600101611c81565b611d7c612ce5565b611d863382612917565b61191f60018055565b5f80601454600103611da357505f91829150565b5f805b601254811015611e03575f60128281548110611dc457611dc46148c4565b5f9182526020808320909101546001600160a01b03168083526005909152604090912060060154909150611df890846148d8565b925050600101611da6565b5060125460158290555f611e178284614953565b905060646016546096611e2a91906148b1565b611e349083614928565b611e3e9190614953565b9050601a548114611e7857601a5460408051918252602082018390525f80516020614a90833981519152910160405180910390a1601a8190555b601a54601554945094505050509091565b611e91612ce5565b6021548210611eb25760405162461bcd60e51b8152600401610add906149b3565b5f8281526008602090815260408083206001600160a01b038516845290915290205460ff161580611f0457505f828152600a602090815260408083206001600160a01b038516845290915290205460ff165b15611f3e5760405162461bcd60e51b815260206004820152600a6024820152694163632053746174757360b01b6044820152606401610add565b5f82815260076020526040902060080154601e544290611f5e90836148d8565b811015611f965760405162461bcd60e51b8152600401610add9060208082526004908201526354696d6560e01b604082015260600190565b5f84815260076020819052604090912001546001903390611fb790856148d8565b83111561211157335f9081526019602052604090205460ff16158015611fe757505f546001600160a01b03163314155b156120045760405162461bcd60e51b8152600401610add906149b3565b5f868152600760205260409020600601546002036120525760405162461bcd60e51b815260206004820152600b60248201526a566f74652053746174757360a81b6044820152606401610add565b60025460405163d373c77560e01b8152600481018890526001600160a01b0387811660248301525f92169063d373c77590604401602060405180830381865afa1580156120a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120c591906148eb565b905080156121045760405162461bcd60e51b815260206004820152600c60248201526b566f7465642053746174757360a01b6044820152606401610add565b600292505f9150506121d0565b5f86815260086020908152604080832033845290915290205460ff16156121685760405162461bcd60e51b815260206004820152600b60248201526a416464722053746174757360a81b6044820152606401610add565b335f9081526005602052604090205460ff1615806121975750335f9081526005602052604090206007015460ff165b156121d05760405162461bcd60e51b815260206004820152600960248201526852652053746174757360b81b6044820152606401610add565b6121da8686613273565b61220f5760405162461bcd60e51b815260206004820152600660248201526552656d6f766560d01b6044820152606401610add565b5f8681526008602090815260408083206001600160a01b03891684528252808320805460ff19908116909155338085528285208054831660019081179091558b8652600a85528386208287528552838620805490931617909155898452600790925290912054612280918890613386565b600354604051637ab8fb0960e01b81526001600160a01b03878116600483015283811660248301526044820185905290911690637ab8fb09906064015f604051808303815f87803b1580156122d3575f80fd5b505af11580156122e5573d5f803e3d5ffd5b5050505f8781526007602090815260409182902060028101549054925133815290935089917f0c048229bdff584f33527c6ad00482031921f94bd25bcd8b4af69a24417d063a910160405180910390a45050505061145f60018055565b6003546001600160a01b0316331461236c5760405162461bcd60e51b8152600401610add90614992565b6001600160a01b038216158061239957506001600160a01b0382165f9081526005602052604090205460ff165b806123bb57506001600160a01b0382165f9081526019602052604090205460ff165b156123d85760405162461bcd60e51b8152600401610add906149b3565b604080516101008101825260018082525f6020808401828152848601838152606086018481526080870185815261138860a0890190815260c089018b815260e08a018881526001600160a01b038e16808a526005988990529b89209a518b5490151560ff19918216178c5596518b8b0155945160028b0155925160038a015590516004890155519387019390935591516006860155905160079094018054941515949091169390931790925560118054918201815582527f31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c680180546001600160a01b03191690921790915561145f908390612917565b600c602052815f5260405f208181548110610f13575f80fd5b5f546001600160a01b031633146125105760405162461bcd60e51b8152600401610add9061487a565b6001600160a01b0381166125665760405162461bcd60e51b815260206004820152601d60248201527f4e6577206f776e657220697320746865207a65726f20616464726573730000006044820152606401610add565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b5f8284036125e8578484815181106125d9576125d96148c4565b6020026020010151905061265b565b5f6125f486868661345c565b905080830361261f5785838151811061260f5761260f6148c4565b602002602001015191505061265b565b808312156126455761263d86866126376001856149eb565b866125bf565b91505061265b565b61263d86612654836001614a11565b86866125bf565b949350505050565b6001600160a01b0381165f9081526018602052604090205460ff166126855750565b6001600160a01b0381165f9081526017602052604090205460125415806126ae57506012548110155b806126e85750816001600160a01b0316601282815481106126d1576126d16148c4565b5f918252602090912001546001600160a01b031614155b156127255760405162461bcd60e51b815260206004820152600d60248201526c092dcecc2d8d2c840d2dcc8caf609b1b6044820152606401610add565b6012545f90612736906001906148b1565b90508082146127bb575f60128281548110612753576127536148c4565b5f91825260209091200154601280546001600160a01b039092169250829185908110612781576127816148c4565b5f91825260208083209190910180546001600160a01b0319166001600160a01b039485161790559290911681526017909152604090208290555b60128054806127cc576127cc6149d7565b5f82815260208082205f19908401810180546001600160a01b03191690559092019092556001600160a01b03851680835260178252604080842084905560188352808420805460ff191690558051600181529283018490528201929092527f2b9fc6af5b9ac0b72dbed70977f6d4c13af74fa238094d41814dda823f72e88e9060600160405180910390a2505050565b6014546002036128705761145f82826135d4565b5f601a54831080156128845750601a548210155b8061289d5750601a54831015801561289d5750601a5482105b156128a6575060015b801561135357601c8054905f6128bb8361497a565b91905055507fd714bc692a74a7cc3e5665bb591063351acc66c7b7d42535a762c1451fc578b5601c546040516128f391815260200190565b60405180910390a1601d54601c54106113535761290e613671565b5f601c55505050565b6001600160a01b038216158061296857506001600160a01b0382165f9081526005602052604090205460ff1615801561296857506001600160a01b0382165f9081526019602052604090205460ff16155b156129855760405162461bcd60e51b8152600401610add906149b3565b6001600160a01b0382165f908152600660205260409020600181015442919060ff166129e9576129b48461370d565b6001818101805460ff191690911790556001600160a01b0384165f908152600560205260408120600601546129e9919061285c565b6001810154610100900460ff16612a0c5760018101805461ff0019166101001790555b6040516001600160a01b038516907ff43a6e2cee0e11744bdf3c16e6c9441c9b77e0ce0dc7e95bce6948b9b1349e61905f90a26001600160a01b03831615612a5757612a5783612a5c565b555050565b6001600160a01b038116612a6d5750565b6001600160a01b0381165f9081526005602052604090205460ff161580612ab357506001600160a01b0381165f9081526005602052604090206007015460ff1615156001145b15612abb5750565b6001600160a01b0381165f908152600660205260409020600181015460ff16158015612af157506001810154610100900460ff16155b15612afa575050565b805442901580612b0a5750815481105b15612b1457505050565b60018201545f90610100900460ff168015612b3b57506020548354612b3990846148b1565b115b15612b5057506001808301805461ff00191690555b600183015460ff168015612b705750601f548354612b6e90846148b1565b115b15612bb35760018301805460ff19169055612b8a84612663565b506001600160a01b0383165f90815260056020526040812060060154600191612bb3919061285c565b8015610ebd5760018301546040805160ff610100840481161582529092161560208301526001600160a01b038616917f5c0b4650caf5a72a59109a308af92d3f27d2757c976969e244a9111e84db4f88910160405180910390a250505050565b5f80805b601254811015612cdf575f60128281548110612c3557612c356148c4565b5f918252602090912001546001600160a01b031690508015801590612c7557506001600160a01b0381165f9081526005602052604090206007015460ff16155b8015612c9b57506001600160a01b0381165f9081526006602052604090206001015460ff165b8015612cc35750601a546001600160a01b0382165f9081526005602052604090206006015410155b15612cd65782612cd28161497a565b9350505b50600101612c17565b50919050565b600260015403612d375760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610add565b6002600155565b60605f806012805480602002602001604051908101604052809291908181526020018280548015612d9657602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612d78575b505050505090505f600e5f8881526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015612e0157602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311612de3575b505085516001600160a01b038b165f908152601760205260409020548751959650909490935083109150508015612e625750876001600160a01b0316848281518110612e4f57612e4f6148c4565b60200260200101516001600160a01b0316145b15612ea0575f848281518110612e7a57612e7a6148c4565b6001600160a01b039092166020928302919091019091015281612e9c81614a38565b9250505b506001600160a01b0386165f90815260176020526040902054835181108015612ef35750866001600160a01b0316848281518110612ee057612ee06148c4565b60200260200101516001600160a01b0316145b15612f31575f848281518110612f0b57612f0b6148c4565b6001600160a01b039092166020928302919091019091015281612f2d81614a38565b9250505b5f5b835181101561301a575f848281518110612f4f57612f4f6148c4565b6020908102919091018101516001600160a01b0381165f908152601890925260409091205490915060ff1615613011576001600160a01b0381165f90815260176020526040902054865181108015612fd15750816001600160a01b0316878281518110612fbe57612fbe6148c4565b60200260200101516001600160a01b0316145b1561300f575f878281518110612fe957612fe96148c4565b6001600160a01b03909216602092830291909101909101528461300b81614a38565b9550505b505b50600101612f33565b50929890975095505050505050565b60605f8483106130445761303f878787876137f2565b61304e565b61304e87866138f6565b90508481511061305e5780613068565b6130688186613d4d565b979650505050505050565b602180545f91829190826130868361497a565b9190505590506040518061012001604052808a81526020018981526020018881526020018781526020018681526020015f8152602001600181526020018581526020014281525060075f8381526020019081526020015f205f820151815f01556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155905050600b5f8a81526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f9091909190915055600c5f8981526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f90919091909150558060105f8981526020019081526020015f2081905550848351146131f35760405162461bcd60e51b81526020600482015260066024820152652727902632b760d11b6044820152606401610add565b5f5b835181101561322a576132228a83868481518110613215576132156148c4565b6020026020010151613386565b6001016131f5565b508689827f1f3405a49612ca1f9a5a3fd689207cbf0e5a09ed8dbf376bd337f0955510eb968b8760405161325f929190614a4d565b60405180910390a498975050505050505050565b5f828152600960205260408120815b815481101561337c57836001600160a01b03168282815481106132a7576132a76148c4565b5f918252602090912001546001600160a01b03160361337457815482906132d0906001906148b1565b815481106132e0576132e06148c4565b905f5260205f20015f9054906101000a90046001600160a01b031682828154811061330d5761330d6148c4565b905f5260205f20015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555081805480613348576133486149d7565b5f8281526020902081015f1990810180546001600160a01b031916905501905550600191506116dc9050565b600101613282565b505f949350505050565b5f8281526008602090815260408083206001600160a01b0385168085529083528184208054600160ff19918216811790925587865260098552838620805480840182559087528587200180546001600160a01b03199081168517909155898752600f8652848720848852865284872080549092168317909155888652600e85528386208054808401825590875285872001805490911683179055818552600d8452828520805480830182559086528486200187905590845260059092528220018054916134528361497a565b9190505550505050565b5f80848381518110613470576134706148c4565b602002602001015190505f60018561348891906149eb565b9050845b8481121561353857828782815181106134a7576134a76148c4565b60200260200101511161353057816134be81614a65565b9250508681815181106134d3576134d36148c4565b60200260200101518783815181106134ed576134ed6148c4565b6020026020010151888481518110613507576135076148c4565b60200260200101898481518110613520576135206148c4565b6020908102919091010191909152525b60010161348c565b5085848151811061354b5761354b6148c4565b6020026020010151868260016135619190614a11565b81518110613571576135716148c4565b6020026020010151878360016135879190614a11565b81518110613597576135976148c4565b602002602001018887815181106135b0576135b06148c4565b6020908102919091010191909152526135ca816001614a11565b9695505050505050565b6014546001036135e2575050565b5f81836015546135f291906148b1565b6135fc91906148d8565b6012549091505f61360d8284614953565b90506064601654600161362091906148d8565b61362a9083614928565b6136349190614953565b9050601a54811461113157601a5460408051918252602082018390525f80516020614a90833981519152910160405180910390a1601a5550505050565b5f61367a612c13565b601b546012549192505f9160649161369191614928565b61369c9060326148d8565b6136a69190614953565b601a54909150818310156136c3576136be8383613e3d565b6136d5565b818311156136d5576136d58383613fa8565b601a54811461135357601a546040805183815260208101929092525f80516020614a90833981519152910160405180910390a1505050565b6001600160a01b0381165f9081526018602052604090205460ff1615801561373d57506001600160a01b03811615155b1561191f57601280546001600160a01b0383165f81815260176020908152604080832085905560018086019096557fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec344490940180546001600160a01b0319168417905560188152838220805460ff19168617905583518581529081019490945283830152905190917f2b9fc6af5b9ac0b72dbed70977f6d4c13af74fa238094d41814dda823f72e88e919081900360600190a250565b60605f683635c9adc5dea0000085101561381657613811600285614953565b613818565b835b90505f61382582866148b1565b90505f8567ffffffffffffffff81111561384157613841614966565b60405190808252806020026020018201604052801561386a578160200160208202803683370190505b5090505f61387a86888b866140d1565b90505f5b81518110801561388d57508781105b156138e8578181815181106138a4576138a46148c4565b60200260200101518382815181106138be576138be6148c4565b6001600160a01b0390921660209283029190910190910152806138e08161497a565b91505061387e565b509098975050505050505050565b60605f8267ffffffffffffffff81111561391257613912614966565b60405190808252806020026020018201604052801561393b578160200160208202803683370190505b505f858152600e602090815260408083208054825181850281018501909352808352949550929390929183018282801561399c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161397e575b505050505090506013805490505f03613a01575f5b848110156139f6575f546001600160a01b03168382815181106139d6576139d66148c4565b6001600160a01b03909216602092830291909101909101526001016139b1565b5081925050506116dc565b6040805160a081018252868152602081018690525f918101829052606081018290526013546080820181905290919067ffffffffffffffff811115613a4857613a48614966565b604051908082528060200260200182016040528015613a71578160200160208202803683370190505b5090505f826080015167ffffffffffffffff811115613a9257613a92614966565b604051908082528060200260200182016040528015613abb578160200160208202803683370190505b5090505f5b8451811015613b5e575f5b601354811015613b5557858281518110613ae757613ae76148c4565b60200260200101516001600160a01b031660138281548110613b0b57613b0b6148c4565b5f918252602090912001546001600160a01b031603613b4d576001838281518110613b3857613b386148c4565b91151560209283029190910190910152613b55565b600101613acb565b50600101613ac0565b506080830151613b6f9089816144d6565b60408401525f5b600281108015613b8d575083602001518460600151105b15613cdc575f5b846080015181108015613bae575084602001518560600151105b15613cc9575f8560800151828760400151613bc991906148d8565b613bd39190614a7c565b905082158015613c195750848181518110613bf057613bf06148c4565b602002602001015180613c195750838181518110613c1057613c106148c4565b60200260200101515b15613c245750613cb7565b60138181548110613c3757613c376148c4565b5f918252602090912001546060870180516001600160a01b03909216918a91613c5f8261497a565b905281518110613c7157613c716148c4565b60200260200101906001600160a01b031690816001600160a01b0316815250506001858281518110613ca557613ca56148c4565b91151560209283029190910190910152505b80613cc18161497a565b915050613b94565b5080613cd48161497a565b915050613b76565b505b826020015183606001511015613d41575f546001600160a01b03166060840180518791613d0a8261497a565b905281518110613d1c57613d1c6148c4565b60200260200101906001600160a01b031690816001600160a01b031681525050613cde565b50929695505050505050565b60605f8267ffffffffffffffff811115613d6957613d69614966565b604051908082528060200260200182016040528015613d92578160200160208202803683370190505b5090505f5b8451811015613dec57848181518110613db257613db26148c4565b6020026020010151828281518110613dcc57613dcc6148c4565b6001600160a01b0390921660209283029190910190910152600101613d97565b5083515b83811015613e35575f546001600160a01b0316828281518110613e1557613e156148c4565b6001600160a01b0390921660209283029190910190910152600101613df0565b509392505050565b808210613e48575050565b5f613e5383836148b1565b6012549091505f9067ffffffffffffffff811115613e7357613e73614966565b604051908082528060200260200182016040528015613e9c578160200160208202803683370190505b5090505f805b601254811015613f2b575f60128281548110613ec057613ec06148c4565b5f9182526020808320909101546001600160a01b03168083526005909152604090912060060154601a5491925090811015613f215780858581518110613f0857613f086148c4565b602090810291909101015283613f1d8161497a565b9450505b5050600101613ea2565b50805f03613f3e5750505f601a55505050565b808310613f505750505f601a55505050565b5f818411613f6857613f636001856148b1565b613f73565b613f736001836148b1565b90505f613f9c8482613f866001876148b1565b85613f926001896148b1565b6110eb91906148b1565b601a5550505050505050565b808211613fb3575050565b5f613fbe82846148b1565b6012549091505f9067ffffffffffffffff811115613fde57613fde614966565b604051908082528060200260200182016040528015614007578160200160208202803683370190505b5090505f805b601254811015614095575f6012828154811061402b5761402b6148c4565b5f9182526020808320909101546001600160a01b03168083526005909152604090912060060154601a5491925090811061408b5780858581518110614072576140726148c4565b6020908102919091010152836140878161497a565b9450505b505060010161400d565b508015806140a35750808310155b156140af575050505050565b5f6140c683826140c06001866148b1565b876125bf565b601a55505050505050565b606084515f14806140e0575083155b156141155760405162461bcd60e51b815260206004820152600560248201526404c656e20360dc1b6044820152606401610add565b5f6040518060c001604052805f81526020015f81526020015f81526020015f815260200187518152602001875181525090505f8567ffffffffffffffff81111561416157614161614966565b60405190808252806020026020018201604052801561418a578160200160208202803683370190505b5090505f8260a0015167ffffffffffffffff8111156141ab576141ab614966565b6040519080825280602002602001820160405280156141d4578160200160208202803683370190505b5090505b8251871180156141ef575082608001518360600151105b15614381575f61420589518886606001516144d6565b6060850180519192506142178261497a565b8152505081818151811061422d5761422d6148c4565b60200260200101518061426a57505f6001600160a01b0316898281518110614257576142576148c4565b60200260200101516001600160a01b0316145b1561427557506141d8565b5f898281518110614288576142886148c4565b60200260200101519050601a5460055f836001600160a01b03166001600160a01b031681526020019081526020015f2060060154106142d957602085018051906142d18261497a565b905250614314565b604085018051906142e98261497a565b815250508685604001511115614314576040850180519061430982614a38565b8152505050506141d8565b6001838381518110614328576143286148c4565b91151560209283029190910190910152845181908590876143488261497a565b90528151811061435a5761435a6148c4565b60200260200101906001600160a01b031690816001600160a01b03168152505050506141d8565b82518711156144cb575f61439d8460a0015188865f01516144d6565b90505f5b8460a00151811080156143b45750845189115b156144c85760a08501515f906143ca83856148d8565b6143d49190614a7c565b90508381815181106143e8576143e86148c4565b60200260200101518061442557505f6001600160a01b03168b8281518110614412576144126148c4565b60200260200101516001600160a01b0316145b1561443057506144b6565b6001848281518110614444576144446148c4565b6020026020010190151590811515815250508a8181518110614468576144686148c4565b602002602001015185875f0180518091906144829061497a565b905281518110614494576144946148c4565b60200260200101906001600160a01b031690816001600160a01b031681525050505b806144c08161497a565b9150506143a1565b50505b509695505050505050565b5f835f036144e357600193505b60408051426020820152449181019190915260608082018590526080820184905232901b6bffffffffffffffffffffffff191660a0820152849060b401604051602081830303815290604052805190602001205f1c61265b9190614a7c565b80356001600160a01b0381168114614558575f80fd5b919050565b5f6020828403121561456d575f80fd5b610dde82614542565b5f60208284031215614586575f80fd5b5035919050565b5f805f6060848603121561459f575f80fd5b6145a884614542565b95602085013595506040909401359392505050565b5f805f80608085870312156145d0575f80fd5b6145d985614542565b966020860135965060408601359560600135945092505050565b5f805f60608486031215614605575f80fd5b505081359360208301359350604090920135919050565b5f806040838503121561462d575f80fd5b50508035926020909101359150565b5f805f6060848603121561464e575f80fd5b61465784614542565b925061466560208501614542565b915061467360408501614542565b90509250925092565b801515811461191f575f80fd5b5f806040838503121561469a575f80fd5b6146a383614542565b915060208301356146b38161467c565b809150509250929050565b5f805f80608085870312156146d1575f80fd5b5050823594602084013594506040840135936060013592509050565b5f80604083850312156146fe575f80fd5b61470783614542565b946020939093013593505050565b5f8060208385031215614726575f80fd5b823567ffffffffffffffff8082111561473d575f80fd5b818501915085601f830112614750575f80fd5b81358181111561475e575f80fd5b8660208260051b8501011115614772575f80fd5b60209290920196919550909350505050565b5f8060408385031215614795575f80fd5b823591506147a560208401614542565b90509250929050565b5f805f805f805f80610100898b0312156147c6575f80fd5b883597506020890135965060408901359550606089013594506080890135935060a089013592506147f960c08a01614542565b915061480760e08a01614542565b90509295985092959890939650565b5f815180845260208085019450602084015f5b8381101561484e5781516001600160a01b031687529582019590820190600101614829565b509495945050505050565b604081525f61486b6040830185614816565b90508260208301529392505050565b60208082526009908201526827b7363ca7bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b818103818111156116dc576116dc61489d565b634e487b7160e01b5f52603260045260245ffd5b808201808211156116dc576116dc61489d565b5f602082840312156148fb575f80fd5b8151610dde8161467c565b60208082526008908201526741726253636f726560c01b604082015260600190565b80820281158282048414176116dc576116dc61489d565b634e487b7160e01b5f52601260045260245ffd5b5f826149615761496161493f565b500490565b634e487b7160e01b5f52604160045260245ffd5b5f6001820161498b5761498b61489d565b5060010190565b60208082526007908201526626b0b730b3b2b960c91b604082015260600190565b6020808252600a90820152694172622053746174757360b01b604082015260600190565b634e487b7160e01b5f52603160045260245ffd5b8181035f831280158383131683831282161715614a0a57614a0a61489d565b5092915050565b8082018281125f831280158216821582161715614a3057614a3061489d565b505092915050565b5f81614a4657614a4661489d565b505f190190565b828152604060208201525f61265b6040830184614816565b5f6001600160ff1b01820161498b5761498b61489d565b5f82614a8a57614a8a61493f565b50069056fe951bd761586bf71969d057a367298cf6f2a45d7f6e71840c46b8816307c45b5aa26469706673582212202758bce574e5a31eb645664d0b2f740167be84d24172f3a1a0a5c4753bd7683364736f6c63430008180033