0 txs
21 calls
constructor
No constructor.
functions
autoBsw
viewfunction autoBsw() view returns (address)
bswToken
viewfunction bswToken() view returns (address)
busNFT
viewfunction busNFT() view returns (address)
contractsCount
viewfunction contractsCount(uint256) view returns (uint256)
decreaseWithdrawalFeeByDay
viewfunction decreaseWithdrawalFeeByDay() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
firstGameCountdownSE
viewfunction firstGameCountdownSE(address) view returns (uint256)
games
viewfunction games(uint256) view returns (uint128 minSeAmount, uint128 minStakeAmount, uint256 chanceToWin, string name, bool enable)
gamesV2
viewfunction gamesV2(uint256) view returns (uint128 minSeAmount, uint128 minStakeAmount, uint256 chanceToWin, string name, bool enable)
getContractV2Cost
viewfunction getContractV2Cost(uint256[] _playersId, uint256 _contractIndex) view returns (uint256 totalCost, uint256[] playersCost)
getGameCount
viewfunction getGameCount(uint256 contractVersion) view returns (uint256 count)
getGameInfo
viewfunction getGameInfo(address _user, uint256 contractVersion) view returns (tuple[])
getLimitContractsParameters
viewfunction getLimitContractsParameters() view returns (uint256 totalLimit, uint256 contractsOnPeriod, uint256 _minStakeForContracts)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getUserContractsV2Cost
viewfunction getUserContractsV2Cost(address _user) view returns (uint256[] playersId, uint256[][] contractCost)
getUserRewardBalances
viewfunction getUserRewardBalances(address _user) view returns (address[], uint128[])
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
masterChef
viewfunction masterChef() view returns (address)
oracle
viewfunction oracle() view returns (address)
paused
viewfunction paused() view returns (bool)
playerContracts
viewfunction playerContracts(uint256) view returns (uint32 duration, uint128 priceInUSD, bool enable)
playerContractsV2
viewfunction playerContractsV2(uint256) view returns (uint32 duration, uint128 priceInUSD, bool enable)
playerNFT
viewfunction playerNFT() view returns (address)
recoveryTime
viewfunction recoveryTime() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
treasuryAddress
viewfunction treasuryAddress() view returns (address)
usdtToken
viewfunction usdtToken() view returns (address)
userInfo
viewfunction userInfo(address _user) view returns (tuple)
withdrawalFee
viewfunction withdrawalFee() view returns (uint256)
withdrawTimeLock
viewfunction withdrawTimeLock(address) view returns (uint256)
addNewGame
nonpayablefunction addNewGame(tuple _game, uint256 contractVersion)
addPlayerContract
nonpayablefunction addPlayerContract(tuple _playerContract, uint256 contractVersion)
buyContracts
nonpayablefunction buyContracts(uint256[] _tokensId, uint256 _contractIndex)
buyContractsV2
nonpayablefunction buyContractsV2(uint256[] _tokensId, uint256 _contractIndex)
changePlayerContract
nonpayablefunction changePlayerContract(uint256 _pcIndex, uint256 contractVersion, tuple _playerContract)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _usdtToken, address _bswToken, address _busNFT, address _playerNFT, address _oracle, address _autoBsw, address _treasuryAddress, uint256 _recoveryTime)
pause
nonpayablefunction pause()
playGame
nonpayablefunction playGame(uint256 _gameIndex, uint256[] _playersId, uint256 contractVersion)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAutoBsw
nonpayablefunction setAutoBsw(address _autoBsw)
setGameParameters
nonpayablefunction setGameParameters(uint256 _gameIndex, tuple _newGame, uint256 contractVersion)
setPeriodLimitContracts
nonpayablefunction setPeriodLimitContracts(uint256 _contractsLimit, uint256 _minStakeForContracts, bool enabled)
setRecoveryTime
nonpayablefunction setRecoveryTime(uint256 _newRecoveryTime)
setTreasuryAddress
nonpayablefunction setTreasuryAddress(address _treasuryAddress)
setWithdrawalFee
nonpayablefunction setWithdrawalFee(uint256 _decreaseWithdrawalFeeByDay, uint256 _withdrawalFee)
unpause
nonpayablefunction unpause()
withdrawReward
nonpayablefunction withdrawReward()
events
GameAdded
event GameAdded(uint256 gameIndex, uint256 contractVersion)
GameDisable
event GameDisable(uint256 gameIndex)
GameEnable
event GameEnable(uint256 gameIndex)
GamePlay
event GamePlay(address indexed user, uint256 indexed gameIndex, bool userWin, address[] rewardTokens, uint128[] rewardAmount)
Paused
event Paused(address account)
RewardTokenChanged
event RewardTokenChanged(uint256 gameIndex)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SetNewGameParam
event SetNewGameParam(uint256 gameIndex, uint256 contractVersion)
Unpaused
event Unpaused(address account)
Withdrew
event Withdrew(address indexed user, (address token, uint128 rewardInUSD, uint128 rewardInToken)[] _rewardBalance)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50615eae80620000216000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c80637ae14a0911610182578063a98ad46c116100e9578063c885bc58116100a2578063e0da3e021161007c578063e0da3e02146106b5578063ed895960146106c8578063f9a7608914610717578063fc87ec461461073857600080fd5b8063c885bc5814610687578063cd98ed2c1461068f578063d547741f146106a257600080fd5b8063a98ad46c146105f9578063a9b661051461060c578063bd312e551461061f578063c48ff43314610640578063c5f956af14610660578063c62d0f3c1461067457600080fd5b80638bc7e8c41161013b5780638bc7e8c41461058d5780638d968fdc1461059757806391d14854146105aa578063969a44ff146105bd5780639fcb4424146105d0578063a217fddf146105f157600080fd5b80637ae14a09146104fa5780637dc0d1d01461050d5780637f81a09e146105205780638456cb591461055f578063883019111461056757806388850d5f1461057a57600080fd5b806336568abe11610226578063575a86b2116101df578063575a86b2146104985780635c975abb146104ac5780635fccc28b146104b757806362ffc7ac146104ca5780636605bfda146104d45780636d5c6822146104e757600080fd5b806336568abe1461040a5780633bf186d01461041d5780633f4ba83a146104485780633f5679041461045057806345af669e1461046457806352d526591461047757600080fd5b8063248a9ca311610278578063248a9ca3146103835780632f2ff15d146103a657806333718b06146103b957806333d2df3a146103c357806333ea44d6146103d657806335cf386d146103f757600080fd5b806301ffc9a7146102c0578063087b5ce4146102e8578063117a5b90146102fd5780631959a002146103215780631a326b7d146103415780631f89532b14610354575b600080fd5b6102d36102ce3660046148ad565b61074b565b60405190151581526020015b60405180910390f35b6102fb6102f63660046148ef565b610782565b005b61031061030b36600461493e565b610a3d565b6040516102df9594939291906149af565b61033461032f366004614a0a565b610b1b565b6040516102df9190614a9d565b6102fb61034f366004614bd3565b611371565b61037561036236600461493e565b6101116020526000908152604090205481565b6040519081526020016102df565b61037561039136600461493e565b60009081526065602052604090206001015490565b6102fb6103b4366004614c6e565b6117e3565b6103756101025481565b6102fb6103d1366004614c9e565b61180e565b6103756103e4366004614a0a565b6101096020526000908152604090205481565b6102fb610405366004614cd2565b611877565b6102fb610418366004614c6e565b611927565b60fb54610430906001600160a01b031681565b6040516001600160a01b0390911681526020016102df565b6102fb6119a5565b61010154610430906001600160a01b031681565b6102fb610472366004614d08565b6119bc565b61048a610485366004614a0a565b611b50565b6040516102df929190614d7c565b61010054610430906001600160a01b031681565b60c95460ff166102d3565b6102fb6104c5366004614dfc565b611dbb565b6103756101045481565b6102fb6104e2366004614a0a565b611de7565b60fd54610430906001600160a01b031681565b6102fb610508366004614a0a565b611e3d565b60ff54610430906001600160a01b031681565b61053361052e36600461493e565b611e93565b6040805163ffffffff90941684526001600160801b0390921660208401521515908201526060016102df565b6102fb611ed8565b6102fb610575366004614e35565b611eec565b60fe54610430906001600160a01b031681565b6103756101035481565b6102fb6105a536600461493e565b61207d565b6102d36105b8366004614c6e565b612090565b6102fb6105cb366004614bd3565b6120bb565b6105e36105de366004614a0a565b61232b565b6040516102df929190614f47565b610375600081565b60fc54610430906001600160a01b031681565b61037561061a36600461493e565b612491565b61063261062d366004614bd3565b6124ad565b6040516102df929190614f75565b61065361064e366004614f8e565b612655565b6040516102df9190614fba565b61010554610430906001600160a01b031681565b6102fb6106823660046150ba565b612cf1565b6102fb612d94565b6102fb61069d3660046150e5565b61313c565b6102fb6106b0366004614c6e565b61385a565b6103106106c336600461493e565b613880565b61011054600080526101116020527fa047c03191d38f3d750454d36871e6a5ba46c2d50744efcf2a9e5e7954b236ae5461011354604080519384526020840192909252908201526060016102df565b610375610725366004614a0a565b61010a6020526000908152604090205481565b61053361074636600461493e565b613891565b60006001600160e01b03198216637965db0b60e01b148061077c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b600061078e81336138a2565b8160011415610851576101065484106107c25760405162461bcd60e51b81526004016107b990615169565b60405180910390fd5b61010684815481106107d6576107d6615195565b60009182526020822060059091020181815560018101829055906107fd600283018261474e565b61080b60038301600061476f565b50600401805460ff1916905561010680548491908690811061082f5761082f615195565b90600052602060002090600502018181610849919061551b565b90505061092a565b81600214156108e95761010d54841061087c5760405162461bcd60e51b81526004016107b990615169565b61010d848154811061089057610890615195565b60009182526020822060059091020181815560018101829055906108b7600283018261474e565b6108c560038301600061476f565b50600401805460ff1916905561010d80548491908690811061082f5761082f615195565b60405162461bcd60e51b81526020600482015260166024820152752bb937b7339031b7b73a3930b1ba103b32b939b4b7b760511b60448201526064016107b9565b60005b61093a60608501856151c0565b90508110156109fd5761097e61095360608601866151c0565b8381811061096357610963615195565b6109799260206060909202019081019150614a0a565b613906565b6109eb5761010861099260608601866151c0565b838181106109a2576109a2615195565b6109b89260206060909202019081019150614a0a565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790555b806109f581615612565b91505061092d565b5060408051858152602081018490527fcee63a270a35fbb9f1a65f72ecb9e98e9a56533b9eb3953f7f55a38d03b63359910160405180910390a150505050565b6101068181548110610a4e57600080fd5b60009182526020909120600590910201805460018201546003830180546001600160801b038085169650600160801b909404909316939192610a8f906153d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610abb906153d4565b8015610b085780601f10610add57610100808354040283529160200191610b08565b820191906000526020600020905b815481529060010190602001808311610aeb57829003601f168201915b5050506004909301549192505060ff1685565b610b236147a9565b610b2b6147a9565b6101015460408051633a98ef3960e01b815290516000926001600160a01b031691633a98ef39916004808301926020929190829003018186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba9919061562d565b61010154604051630cacd00160e11b81526001600160a01b03878116600483015290911690631959a0029060240160806040518083038186803b158015610bef57600080fd5b505afa158015610c03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c279190615646565b51610101546040805163722713f760e01b815290516001600160a01b039092169163722713f791600480820192602092909190829003018186803b158015610c6e57600080fd5b505afa158015610c82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca6919061562d565b610cb09190615225565b610cba91906156c1565b60fd546040516370a0823160e01b81526001600160a01b0387811660048301529293509116906370a082319060240160206040518083038186803b158015610d0157600080fd5b505afa158015610d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d39919061562d565b825260fd54604051630658574360e51b81526001600160a01b0386811660048301529091169063cb0ae8609060240160206040518083038186803b158015610d8057600080fd5b505afa158015610d94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db8919061562d565b602083015260fe546040516370a0823160e01b81526001600160a01b038681166004830152909116906370a082319060240160206040518083038186803b158015610e0257600080fd5b505afa158015610e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3a919061562d565b606083015260fd5460405163443cc59560e11b81526001600160a01b038681166004830152909116906388798b2a9060240160206040518083038186803b158015610e8457600080fd5b505afa158015610e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebc919061562d565b608083015260fe546040516346ba7ddf60e01b81526001600160a01b038681166004830152909116906346ba7ddf9060240160206040518083038186803b158015610f0657600080fd5b505afa158015610f1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3e91906156e5565b6001600160801b031660a083015260fe54604051631cc7e15560e11b81526001600160a01b0386811660048301529091169063398fc2aa9060240160206040518083038186803b158015610f9157600080fd5b505afa158015610fa5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc991906156e5565b6001600160801b031660c083015260fe54604051639936d52360e01b81526001600160a01b03868116600483015290911690639936d5239060240160206040518083038186803b15801561101c57600080fd5b505afa158015611030573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105491906156e5565b6001600160801b031660e0830152610100820181905260fb546040516370a0823160e01b81526001600160a01b038681166004830152909116906370a082319060240160206040518083038186803b1580156110af57600080fd5b505afa1580156110c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e7919061562d565b61012083015260fd54604051637e59d48560e11b81526001600160a01b0386811660048301529091169063fcb3a90a9060240160206040518083038186803b15801561113257600080fd5b505afa158015611146573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061116a919061562d565b6040830152610108546000906001600160401b0381111561118d5761118d614b41565b6040519080825280602002602001820160405280156111d857816020015b60408051606081018252600080825260208083018290529282015282526000199092019101816111ab5790505b50905060005b610108548110156112e35761010881815481106111fd576111fd615195565b9060005260206000200160009054906101000a90046001600160a01b031682828151811061122d5761122d615195565b6020908102919091018101516001600160a01b039283169052908716600090815261010b9091526040812061010880549192918490811061127057611270615195565b60009182526020808320909101546001600160a01b0316835282019290925260400190205482516001600160801b03909116908390839081106112b5576112b5615195565b60209081029190910101516001600160801b03909116604090910152806112db81615612565b9150506111de565b5061014083018190526001600160a01b03851660009081526101096020526040812054819062015180906113179042615702565b61132191906156c1565b90506101035461010254826113369190615225565b101561135d576101025461134a9082615225565b610103546113589190615702565b611360565b60005b610160860152509295945050505050565b333b156113905760405162461bcd60e51b81526004016107b990615719565b3332146113af5760405162461bcd60e51b81526004016107b990615747565b60c95460ff16156113d25760405162461bcd60e51b81526004016107b99061577e565b600260975414156113f55760405162461bcd60e51b81526004016107b9906157a8565b600260975581516114185760405162461bcd60e51b81526004016107b9906157df565b61010e5481106114655760405162461bcd60e51b815260206004820152601860248201527715dc9bdb99c81a5b99195e081bdd5d081bd988189bdd5b9960421b60448201526064016107b9565b61010f5460ff161561171257815160008080526101116020527fa047c03191d38f3d750454d36871e6a5ba46c2d50744efcf2a9e5e7954b236ae80549091906114af908490615821565b90915550506101015460408051633a98ef3960e01b815290516000926001600160a01b031691633a98ef39916004808301926020929190829003018186803b1580156114fa57600080fd5b505afa15801561150e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611532919061562d565b61010154604051630cacd00160e11b81523360048201526001600160a01b0390911690631959a0029060240160806040518083038186803b15801561157657600080fd5b505afa15801561158a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ae9190615646565b51610101546040805163722713f760e01b815290516001600160a01b039092169163722713f791600480820192602092909190829003018186803b1580156115f557600080fd5b505afa158015611609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162d919061562d565b6116379190615225565b61164191906156c1565b61011054600080526101116020527fa047c03191d38f3d750454d36871e6a5ba46c2d50744efcf2a9e5e7954b236ae5491925010156116c25760405162461bcd60e51b815260206004820152601760248201527f436f6e747261637473206c696d6974207265616368656400000000000000000060448201526064016107b9565b610113548110156117105760405162461bcd60e51b81526020600482015260186024820152774e656564206d6f7265207374616b6520696e20706f6f6c7360401b60448201526064016107b9565b505b600061171e83836124ad565b506101055460fb54919250611742916001600160a01b03908116913391168461396c565b60fe5461010e80546001600160a01b039092169163b963158d9186918690811061176e5761176e615195565b6000918252602090912001546040516001600160e01b031960e085901b1681526117a7929163ffffffff16903390600290600401615839565b600060405180830381600087803b1580156117c157600080fd5b505af11580156117d5573d6000803e3d6000fd5b505060016097555050505050565b6000828152606560205260409020600101546117ff81336138a2565b61180983836139d7565b505050565b600061181a81336138a2565b61138882111561186c5760405162461bcd60e51b815260206004820152601e60248201527f496e636f72726563742076616c7565207769746864726177616c20466565000060448201526064016107b9565b506101035561010255565b600061188381336138a2565b82600114156118e1576101075484106118ae5760405162461bcd60e51b81526004016107b990615169565b8161010785815481106118c3576118c3615195565b9060005260206000200181816118d99190615889565b905050611921565b82600214156108e95761010e54841061190c5760405162461bcd60e51b81526004016107b990615169565b8161010e85815481106118c3576118c3615195565b50505050565b6001600160a01b03811633146119975760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016107b9565b6119a18282613a5d565b5050565b60006119b181336138a2565b6119b9613ac4565b50565b60006119c881336138a2565b8160011415611a1a57610106805460018101825560009190915283906005027fc9ef9fceea91e87b2c84ea400a44fde78842aae8aa24cd4b502ce5fb4d91e63b01611a13828261551b565b5050611a65565b81600214156108e95761010d805460018101825560009190915283906005027fd37d5aab611bd3c946977441ea77c3eceb623a7966962fbc75015048e8640bfb01611a13828261551b565b60005b611a7560608501856151c0565b9050811015611b0d57611a8e61095360608601866151c0565b611afb57610108611aa260608601866151c0565b83818110611ab257611ab2615195565b611ac89260206060909202019081019150614a0a565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790555b80611b0581615612565b915050611a68565b506101065460408051918252602082018490527f631d02c7a08d5bb170d4a353ae2ba5425cc79bdf10c0b1380b6b7b48c88774dc910160405180910390a1505050565b60fe54604051634b77b0bf60e01b81526001600160a01b038381166004830152606092839260009290911690634b77b0bf9060240160006040518083038186803b158015611b9d57600080fd5b505afa158015611bb1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bd991908101906159af565b90506000805b8251811015611c39574263ffffffff16838281518110611c0157611c01615195565b602002602001015160c0015163ffffffff161015611c275781611c2381615612565b9250505b80611c3181615612565b915050611bdf565b50806001600160401b03811115611c5257611c52614b41565b604051908082528060200260200182016040528015611c7b578160200160208202803683370190505b5061010e549094506001600160401b03811115611c9a57611c9a614b41565b604051908082528060200260200182016040528015611ccd57816020015b6060815260200190600190039081611cb85790505b50925060005b8251811015611d68574263ffffffff16838281518110611cf557611cf5615195565b602002602001015160c0015163ffffffff161015611d5657828181518110611d1f57611d1f615195565b6020026020010151600001518583611d3690615b4c565b93508381518110611d4957611d49615195565b6020026020010181815250505b80611d6081615612565b915050611cd3565b5060005b61010e54811015611db357611d8185826124ad565b9050848281518110611d9557611d95615195565b60200260200101819052508080611dab90615612565b915050611d6c565b505050915091565b6000611dc781336138a2565b50610110929092556101135561010f805460ff1916911515919091179055565b6000611df381336138a2565b6001600160a01b038216611e195760405162461bcd60e51b81526004016107b990615b63565b5061010580546001600160a01b0319166001600160a01b0392909216919091179055565b6000611e4981336138a2565b6001600160a01b038216611e6f5760405162461bcd60e51b81526004016107b990615b63565b5061010180546001600160a01b0319166001600160a01b0392909216919091179055565b6101078181548110611ea457600080fd5b60009182526020909120015463ffffffff8116915064010000000081046001600160801b031690600160a01b900460ff1683565b6000611ee481336138a2565b6119b9613b57565b600054610100900460ff1680611f05575060005460ff16155b611f215760405162461bcd60e51b81526004016107b990615b91565b600054610100900460ff16158015611f43576000805461ffff19166101011790555b6001600160a01b03891615801590611f6357506001600160a01b03881615155b8015611f7757506001600160a01b03871615155b8015611f8b57506001600160a01b03861615155b8015611f9f57506001600160a01b03851615155b8015611fb357506001600160a01b03841615155b611fcf5760405162461bcd60e51b81526004016107b990615b63565b611fd7613baf565b611fdf613c1a565b611fea600033613c79565b60fb80546001600160a01b03199081166001600160a01b038b81169190911790925560fc805482168c841617905560fd805482168a841617905560fe8054821689841617905560ff805482168884161790556101018054821687841617905561010580549091169185169190911790556101048290558015612072576000805461ff00191690555b505050505050505050565b600061208981336138a2565b5061010455565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b333b156120da5760405162461bcd60e51b81526004016107b990615719565b3332146120f95760405162461bcd60e51b81526004016107b990615747565b60c95460ff161561211c5760405162461bcd60e51b81526004016107b99061577e565b6002609754141561213f5760405162461bcd60e51b81526004016107b9906157a8565b600260975581516121625760405162461bcd60e51b81526004016107b9906157df565b6101075481106121af5760405162461bcd60e51b815260206004820152601860248201527715dc9bdb99c81a5b99195e081bdd5d081bd988189bdd5b9960421b60448201526064016107b9565b61010781815481106121c3576121c3615195565b600091825260209091200154600160a01b900460ff166122255760405162461bcd60e51b815260206004820152601a60248201527f53656c656374656420636f6e74726163742064697361626c656400000000000060448201526064016107b9565b6000610107828154811061223b5761223b615195565b600091825260208220015484516401000000009091046001600160801b031692506122669083615225565b6101055460fb54919250612289916001600160a01b03908116913391168461396c565b60fe5461010780546001600160a01b039092169163b963158d918791879081106122b5576122b5615195565b6000918252602090912001546040516001600160e01b031960e085901b1681526122ee929163ffffffff16903390600190600401615839565b600060405180830381600087803b15801561230857600080fd5b505af115801561231c573d6000803e3d6000fd5b50506001609755505050505050565b6060806000610108805490506001600160401b0381111561234e5761234e614b41565b604051908082528060200260200182016040528015612377578160200160208202803683370190505b50905060005b8151811015612426576001600160a01b038516600090815261010b602052604081206101088054919291849081106123b7576123b7615195565b60009182526020808320909101546001600160a01b0316835282019290925260400190205482516001600160801b03909116908390839081106123fc576123fc615195565b6001600160801b03909216602092830291909101909101528061241e81615612565b91505061237d565b50610108818180548060200260200160405190810160405280929190818152602001828054801561248057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612462575b505050505091509250925050915091565b6000816001146124a45761010d5461077c565b50506101065490565b60006060600061010e84815481106124c7576124c7615195565b60009182526020909120015485516401000000009091046001600160801b031691506001600160401b0381111561250057612500614b41565b604051908082528060200260200182016040528015612529578160200160208202803683370190505b5060fe5460405163f3bef6d160e01b815291935060009182916001600160a01b03169063f3bef6d190612560908a90600401615bdf565b60006040518083038186803b15801561257857600080fd5b505afa15801561258c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526125b49190810190615bf2565b9150915060005b845181101561262b57670de0b6b3a76400008282815181106125df576125df615195565b6020026020010151856125f29190615225565b6125fc91906156c1565b85828151811061260e5761260e615195565b60209081029190910101528061262381615612565b9150506125bb565b50670de0b6b3a764000061263f8385615225565b61264991906156c1565b94505050509250929050565b606060008260011461266a5761010d5461266f565b610106545b6001600160401b0381111561268657612686614b41565b6040519080825280602002602001820160405280156126bf57816020015b6126ac61480a565b8152602001906001900390816126a45790505b50905060006001600160a01b0385166126d95760006126e2565b6126e285613c83565b905060005b8251811015612ce75760006001600160a01b038716612707576000612712565b612712878388613e0c565b905060006001600160a01b03881661272b5760006128ab565b866001146127f15761010d838154811061274757612747615195565b600091825260209091206005909102015460fe54604051631cc7e15560e11b81526001600160a01b038b811660048301526001600160801b03909316929091169063398fc2aa9060240160206040518083038186803b1580156127a957600080fd5b505afa1580156127bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127e191906156e5565b6001600160801b031610156128ab565b610106838154811061280557612805615195565b600091825260209091206005909102015460fe546040516346ba7ddf60e01b81526001600160a01b038b811660048301526001600160801b0390931692909116906346ba7ddf9060240160206040518083038186803b15801561286757600080fd5b505afa15801561287b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061289f91906156e5565b6001600160801b031610155b9050828584815181106128c0576128c0615195565b602090810291909101015152600187146128fb5761010d83815481106128e8576128e8615195565b906000526020600020906005020161291e565b610106838154811061290f5761290f615195565b90600052602060002090600502015b6040805160c08101825282546001600160801b038082168352600160801b909104166020808301919091526001840154828401526002840180548451818402810184019095528085529294936060860193909260009084015b828210156129da576000848152602090819020604080516060810182526002860290920180546001600160a01b031683526001908101546001600160801b0380821685870152600160801b90910416918301919091529083529092019101612977565b5050505081526020016003820180546129f2906153d4565b80601f0160208091040260200160405190810160405280929190818152602001828054612a1e906153d4565b8015612a6b5780601f10612a4057610100808354040283529160200191612a6b565b820191906000526020600020905b815481529060010190602001808311612a4e57829003601f168201915b50505091835250506004919091015460ff1615156020909101528551869085908110612a9957612a99615195565b60200260200101516020018190525083858481518110612abb57612abb615195565b6020026020010151604001901515908115158152505081858481518110612ae457612ae4615195565b6020026020010151606001901515908115158152505080858481518110612b0d57612b0d615195565b602090810291909101015190151560809091015260005b858481518110612b3657612b36615195565b6020026020010151602001516060015151811015612cd157858481518110612b6057612b60615195565b602002602001015160200151606001518181518110612b8157612b81615195565b6020026020010151604001516001600160801b0316600014612be157858481518110612baf57612baf615195565b602002602001015160200151606001518181518110612bd057612bd0615195565b602002602001015160400151612c70565b612c70868581518110612bf657612bf6615195565b602002602001015160200151606001518281518110612c1757612c17615195565b602002602001015160000151878681518110612c3557612c35615195565b602002602001015160200151606001518381518110612c5657612c56615195565b6020026020010151602001516001600160801b0316614017565b868581518110612c8257612c82615195565b602002602001015160200151606001518281518110612ca357612ca3615195565b60209081029190910101516001600160801b0390911660409091015280612cc981615612565b915050612b24565b5050508080612cdf90615612565b9150506126e7565b5090949350505050565b6000612cfd81336138a2565b8160011415612d4c57610107805460018101825560009190915283907f47c4908e245f386bfc1825973249847f4053a761ddb4880ad63c323a7b5a2a2501612d458282615889565b5050505050565b81600214156108e95761010e805460018101825560009190915283907f44731785622d53a842eeb261a70df6f2b61b9624656157b6168597f0656f480501612d458282615889565b333b15612db35760405162461bcd60e51b81526004016107b990615719565b333214612dd25760405162461bcd60e51b81526004016107b990615747565b60c95460ff1615612df55760405162461bcd60e51b81526004016107b99061577e565b60026097541415612e185760405162461bcd60e51b81526004016107b9906157a8565b60026097553360009081526101096020526040902054612e715760405162461bcd60e51b815260206004820152601460248201527315da5d1a191c985dc81b9bdd08185b1b1bddd95960621b60448201526064016107b9565b336000908152610109602052604081205481906201518090612e939042615702565b612e9d91906156c1565b9050610103546101025482612eb29190615225565b1015612ed95761010254612ec69082615225565b61010354612ed49190615702565b612edc565b60005b610108549092506000906001600160401b03811115612efd57612efd614b41565b604051908082528060200260200182016040528015612f4857816020015b6040805160608101825260008082526020808301829052928201528252600019909201910181612f1b5790505b50905060005b610108548110156130e65760006101088281548110612f6f57612f6f615195565b600091825260208083209091015433835261010b825260408084206001600160a01b039092168085529190925291205484519192506001600160801b0316908290859085908110612fc257612fc2615195565b6020908102919091018101516001600160a01b03928316905233600090815261010b82526040808220938616825292909152205484516001600160801b039091169085908590811061301657613016615195565b6020908102919091018101516001600160801b0392831660409182015233600090815261010b83528181206001600160a01b0387168252909252902080546001600160801b03191690558116156130d157600061271061307f886001600160801b038516615225565b61308991906156c1565b610105549091506130a7906001600160a01b038581169116836140aa565b6130cf336130be836001600160801b038616615702565b6001600160a01b03861691906140aa565b505b505080806130de90615612565b915050612f4e565b50336000818152610109602052604080822091909155517faf6e0176ae225a07601b69dccf63f1a378b0e587350a12c6a9e6bfc9b02ef90e9061312a908490615c8e565b60405180910390a25050600160975550565b333b1561315b5760405162461bcd60e51b81526004016107b990615719565b33321461317a5760405162461bcd60e51b81526004016107b990615747565b60c95460ff161561319d5760405162461bcd60e51b81526004016107b99061577e565b600260975414156131c05760405162461bcd60e51b81526004016107b9906157a8565b60026097556040805160c0810182526000808252602082018190529181018290526060808201819052608082015260a081019190915281600114156133b0576101065485106132215760405162461bcd60e51b81526004016107b990615169565b610106858154811061323557613235615195565b600091825260208083206040805160c081018252600590940290910180546001600160801b038082168652600160801b90910416848401526001810154848301526002810180548351818602810186019094528084529495919460608701949192909184015b828210156132fe576000848152602090819020604080516060810182526002860290920180546001600160a01b031683526001908101546001600160801b0380821685870152600160801b9091041691830191909152908352909201910161329b565b505050508152602001600382018054613316906153d4565b80601f0160208091040260200160405190810160405280929190818152602001828054613342906153d4565b801561338f5780601f106133645761010080835404028352916020019161338f565b820191906000526020600020905b81548152906001019060200180831161337257829003601f168201915b50505091835250506004919091015460ff16151560209091015290506133ef565b81600214156108e95761010d5485106133db5760405162461bcd60e51b81526004016107b990615169565b61010d858154811061323557613235615195565b8060a001516134335760405162461bcd60e51b815260206004820152601060248201526f11d85b59481a5cc8191a5cd8589b195960821b60448201526064016107b9565b61343c33613c83565b6134885760405162461bcd60e51b815260206004820152601b60248201527f436865636b2062757320616e6420706c61796572732066616c6c73000000000060448201526064016107b9565b613493338684613e0c565b6134da5760405162461bcd60e51b81526020600482015260186024820152774e656564206d6f7265207374616b6520696e20706f6f6c7360401b60448201526064016107b9565b33600090815261010a60205260409020546135035733600090815261010a602052604090204290555b600082600114613514576000613517565b60015b60fe54610104549192506000916001600160a01b0390911690635c9557a290889088906135449042615821565b86338a6040518763ffffffff1660e01b815260040161356896959493929190615cd7565b602060405180830381600087803b15801561358257600080fd5b505af1158015613596573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ba91906156e5565b905082600001516001600160801b0316816001600160801b031610156136195760405162461bcd60e51b8152602060048201526014602482015273139bdd08195b9bdd59da0814d148185b5bdd5b9d60621b60448201526064016107b9565b600061362588866140da565b905060008460600151516001600160401b0381111561364657613646614b41565b60405190808252806020026020018201604052801561366f578160200160208202803683370190505b50905060008560600151516001600160401b0381111561369157613691614b41565b6040519080825280602002602001820160405280156136ba578160200160208202803683370190505b50905082156138035760005b8660600151518110156137f757866060015181815181106136e9576136e9615195565b6020026020010151604001516001600160801b031660001461372c578660600151818151811061371b5761371b615195565b602002602001015160400151613767565b6137678760600151828151811061374557613745615195565b60200260200101516000015188606001518381518110612c5657612c56615195565b82828151811061377957613779615195565b60200260200101906001600160801b031690816001600160801b031681525050866060015181815181106137af576137af615195565b6020026020010151600001518382815181106137cd576137cd615195565b6001600160a01b0390921660209283029190910190910152806137ef81615612565b9150506136c6565b50613803338383614197565b89336001600160a01b03167fabfaafab54493bb5ccb64ab32e33c0ff490f320bd9e6e2b7c374ed734c48876f85858560405161384193929190615d41565b60405180910390a3505060016097555050505050505050565b60008281526065602052604090206001015461387681336138a2565b6118098383613a5d565b61010d8181548110610a4e57600080fd5b61010e8181548110611ea457600080fd5b6138ac8282612090565b6119a1576138c4816001600160a01b031660146142f9565b6138cf8360206142f9565b6040516020016138e0929190615d78565b60408051601f198184030181529082905262461bcd60e51b82526107b991600401615ded565b6000805b6101085481101561396357610108818154811061392957613929615195565b6000918252602090912001546001600160a01b03848116911614156139515750600192915050565b8061395b81615612565b91505061390a565b50600092915050565b6040516001600160a01b03808516602483015283166044820152606481018290526119219085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152614494565b6139e18282612090565b6119a15760008281526065602090815260408083206001600160a01b03851684529091529020805460ff19166001179055613a193390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b613a678282612090565b156119a15760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60c95460ff16613b0d5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b60448201526064016107b9565b60c9805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b60c95460ff1615613b7a5760405162461bcd60e51b81526004016107b99061577e565b60c9805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613b3a3390565b600054610100900460ff1680613bc8575060005460ff16155b613be45760405162461bcd60e51b81526004016107b990615b91565b600054610100900460ff16158015613c06576000805461ffff19166101011790555b80156119b9576000805461ff001916905550565b600054610100900460ff1680613c33575060005460ff16155b613c4f5760405162461bcd60e51b81526004016107b990615b91565b600054610100900460ff16158015613c71576000805461ffff19166101011790555b613c06614566565b6119a182826139d7565b60fd5460405163443cc59560e11b81526001600160a01b03838116600483015260009216906388798b2a9060240160206040518083038186803b158015613cc957600080fd5b505afa158015613cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d01919061562d565b1580159061077c575060fe546040516370a0823160e01b81526001600160a01b038481166004830152909116906370a082319060240160206040518083038186803b158015613d4f57600080fd5b505afa158015613d63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d87919061562d565b60fd5460405163443cc59560e11b81526001600160a01b038581166004830152909116906388798b2a9060240160206040518083038186803b158015613dcc57600080fd5b505afa158015613de0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e04919061562d565b101592915050565b60008061010160009054906101000a90046001600160a01b03166001600160a01b0316633a98ef396040518163ffffffff1660e01b815260040160206040518083038186803b158015613e5e57600080fd5b505afa158015613e72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e96919061562d565b61010154604051630cacd00160e11b81526001600160a01b03888116600483015290911690631959a0029060240160806040518083038186803b158015613edc57600080fd5b505afa158015613ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f149190615646565b51610101546040805163722713f760e01b815290516001600160a01b039092169163722713f791600480820192602092909190829003018186803b158015613f5b57600080fd5b505afa158015613f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f93919061562d565b613f9d9190615225565b613fa791906156c1565b9050806001841415613ff3576101068581548110613fc757613fc7615195565b6000918252602090912060059091020154600160801b90046001600160801b0316111591506140109050565b83600214156108e95761010d8581548110613fc757613fc7615195565b9392505050565b60ff5460fc54604051632321bc7960e21b81526001600160a01b0391821660048201526024810184905284821660448201526000929190911690638c86f1e49060640160206040518083038186803b15801561407257600080fd5b505afa158015614086573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614010919061562d565b6040516001600160a01b03831660248201526044810182905261180990849063a9059cbb60e01b906064016139a0565b600080826001146141105761010d84815481106140f9576140f9615195565b906000526020600020906005020160010154614137565b610106848154811061412457614124615195565b9060005260206000209060050201600101545b90506000612710614149600143615702565b405a6040805160208101939093528201526060016040516020818303038152906040528051906020012060001c6141809190615e00565b61418b906001615821565b91909110949350505050565b80518251146141de5760405162461bcd60e51b81526020600482015260136024820152720aee4dedcce40c2e4e4c2f2e640d8cadccee8d606b1b60448201526064016107b9565b6001600160a01b03831660009081526101096020526040902054614219576001600160a01b0383166000908152610109602052604090204290555b60005b82518110156119215781818151811061423757614237615195565b602002602001015161010b6000866001600160a01b03166001600160a01b03168152602001908152602001600020600085848151811061427957614279615195565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282829054906101000a90046001600160801b03166142c29190615e14565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555080806142f190615612565b91505061421c565b60606000614308836002615225565b614313906002615821565b6001600160401b0381111561432a5761432a614b41565b6040519080825280601f01601f191660200182016040528015614354576020820181803683370190505b509050600360fc1b8160008151811061436f5761436f615195565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061439e5761439e615195565b60200101906001600160f81b031916908160001a90535060006143c2846002615225565b6143cd906001615821565b90505b6001811115614445576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061440157614401615195565b1a60f81b82828151811061441757614417615195565b60200101906001600160f81b031916908160001a90535060049490941c9361443e81615b4c565b90506143d0565b5083156140105760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107b9565b60006144e9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166145d69092919063ffffffff16565b80519091501561180957808060200190518101906145079190615e3f565b6118095760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016107b9565b600054610100900460ff168061457f575060005460ff16155b61459b5760405162461bcd60e51b81526004016107b990615b91565b600054610100900460ff161580156145bd576000805461ffff19166101011790555b600160975580156119b9576000805461ff001916905550565b60606145e584846000856145ed565b949350505050565b60608247101561464e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016107b9565b843b61469c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016107b9565b600080866001600160a01b031685876040516146b89190615e5c565b60006040518083038185875af1925050503d80600081146146f5576040519150601f19603f3d011682016040523d82523d6000602084013e6146fa565b606091505b509150915061470a828286614715565b979650505050505050565b60608315614724575081614010565b8251156147345782518084602001fd5b8160405162461bcd60e51b81526004016107b99190615ded565b50805460008255600202906000526020600020908101906119b9919061486e565b50805461477b906153d4565b6000825580601f1061478b575050565b601f0160209004906000526020600020908101906119b99190614898565b6040518061018001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001600081525090565b6040518060a00160405280600081526020016148536040805160c0810182526000808252602082018190529181018290526060808201819052608082015260a081019190915290565b81526000602082018190526040820181905260609091015290565b5b808211156148945780546001600160a01b03191681556000600182015560020161486f565b5090565b5b808211156148945760008155600101614899565b6000602082840312156148bf57600080fd5b81356001600160e01b03198116811461401057600080fd5b600060c082840312156148e957600080fd5b50919050565b60008060006060848603121561490457600080fd5b8335925060208401356001600160401b0381111561492157600080fd5b61492d868287016148d7565b925050604084013590509250925092565b60006020828403121561495057600080fd5b5035919050565b60005b8381101561497257818101518382015260200161495a565b838111156119215750506000910152565b6000815180845261499b816020860160208601614957565b601f01601f19169290920160200192915050565b60006001600160801b03808816835280871660208401525084604083015260a060608301526149e160a0830185614983565b905082151560808301529695505050505050565b6001600160a01b03811681146119b957600080fd5b600060208284031215614a1c57600080fd5b8135614010816149f5565b80516001600160a01b031682526020808201516001600160801b0390811691840191909152604091820151169082015260600190565b600081518084526020808501945080840160005b83811015614a9257614a84878351614a27565b965090820190600101614a71565b509495945050505050565b6020815281516020820152602082015160408201526040820151606082015260608201516080820152608082015160a082015260a082015160c082015260c082015160e0820152600060e08301516101008181850152808501519150506101208181850152808501519150506101408181850152808501519150506101806101608181860152614b316101a0860184614a5d565b9501519301929092525090919050565b634e487b7160e01b600052604160045260246000fd5b60405161018081016001600160401b0381118282101715614b7a57614b7a614b41565b60405290565b604051601f8201601f191681016001600160401b0381118282101715614ba857614ba8614b41565b604052919050565b60006001600160401b03821115614bc957614bc9614b41565b5060051b60200190565b60008060408385031215614be657600080fd5b82356001600160401b03811115614bfc57600080fd5b8301601f81018513614c0d57600080fd5b80356020614c22614c1d83614bb0565b614b80565b82815260059290921b83018101918181019088841115614c4157600080fd5b938201935b83851015614c5f57843582529382019390820190614c46565b98969091013596505050505050565b60008060408385031215614c8157600080fd5b823591506020830135614c93816149f5565b809150509250929050565b60008060408385031215614cb157600080fd5b50508035926020909101359150565b6000606082840312156148e957600080fd5b600080600060a08486031215614ce757600080fd5b8335925060208401359150614cff8560408601614cc0565b90509250925092565b60008060408385031215614d1b57600080fd5b82356001600160401b03811115614d3157600080fd5b614d3d858286016148d7565b95602094909401359450505050565b600081518084526020808501945080840160005b83811015614a9257815187529582019590820190600101614d60565b604081526000614d8f6040830185614d4c565b6020838203818501528185518084528284019150828160051b85010183880160005b83811015614ddf57601f19878403018552614dcd838351614d4c565b94860194925090850190600101614db1565b50909998505050505050505050565b80151581146119b957600080fd5b600080600060608486031215614e1157600080fd5b83359250602084013591506040840135614e2a81614dee565b809150509250925092565b600080600080600080600080610100898b031215614e5257600080fd5b8835614e5d816149f5565b97506020890135614e6d816149f5565b96506040890135614e7d816149f5565b95506060890135614e8d816149f5565b94506080890135614e9d816149f5565b935060a0890135614ead816149f5565b925060c0890135614ebd816149f5565b8092505060e089013590509295985092959890939650565b600081518084526020808501945080840160005b83811015614a925781516001600160a01b031687529582019590820190600101614ee9565b600081518084526020808501945080840160005b83811015614a925781516001600160801b031687529582019590820190600101614f22565b604081526000614f5a6040830185614ed5565b8281036020840152614f6c8185614f0e565b95945050505050565b8281526040602082015260006145e56040830184614d4c565b60008060408385031215614fa157600080fd5b8235614fac816149f5565b946020939093013593505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b838110156150ac57603f19898403018552815160a08151855288820151818a8701526001600160801b0380825116838801528a82015160c0828216818a01528b84015160e08a015260609250828401519150806101008a015250615049610160890182614a5d565b9050608080840151609f198a8403016101208b01526150688382614983565b949095015115156101408a0152858c015115158c8a015282860151151592890192909252509283015115159290950191909152509386019390860190600101614fe1565b509098975050505050505050565b600080608083850312156150cd57600080fd5b6150d78484614cc0565b946060939093013593505050565b600080600080606085870312156150fb57600080fd5b8435935060208501356001600160401b038082111561511957600080fd5b818701915087601f83011261512d57600080fd5b81358181111561513c57600080fd5b8860208260051b850101111561515157600080fd5b95986020929092019750949560400135945092505050565b602080825260129082015271125b99195e081bdd5d081bd988189bdd5b9960721b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6001600160801b03811681146119b957600080fd5b6000808335601e198436030181126151d757600080fd5b8301803591506001600160401b038211156151f157600080fd5b602001915060608102360382131561520857600080fd5b9250929050565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561523f5761523f61520f565b500290565b813561524f816149f5565b81546001600160a01b0319166001600160a01b039190911617815560018101602083013561527c816151ab565b81546001600160801b0319166001600160801b0382161782555060408301356152a4816151ab565b81546001600160801b0316608082901b6001600160801b031916178255611921565b680100000000000000008311156152df576152df614b41565b805483825580841015615351576001600160ff1b0360018183118116156153085761530861520f565b81861181161561531a5761531a61520f565b60008481526020812090925086821b81019084831b015b8082101561534c578382558383830155600282019150615331565b505050505b5060008181526020812083915b85811015615386576153708383615244565b606092909201916002919091019060010161535e565b505050505050565b6000808335601e198436030181126153a557600080fd5b8301803591506001600160401b038211156153bf57600080fd5b60200191503681900382131561520857600080fd5b600181811c908216806153e857607f821691505b602082108114156148e957634e487b7160e01b600052602260045260246000fd5b601f82111561180957600081815260208120601f850160051c810160208610156154305750805b601f850160051c820191505b818110156153865782815560010161543c565b6001600160401b0383111561546657615466614b41565b61547a8361547483546153d4565b83615409565b6000601f8411600181146154ae57600085156154965750838201355b600019600387901b1c1916600186901b178355612d45565b600083815260209020601f19861690835b828110156154df57868501358255602094850194600190920191016154bf565b50868210156154fc5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6000813561077c81614dee565b8135615526816151ab565b81546001600160801b0319166001600160801b03821617825550602082013561554e816151ab565b81546001600160801b0316608082901b6001600160801b03191617825550604082013560018201556060820135601e1983360301811261558d57600080fd5b820180356001600160401b038111156155a557600080fd5b6020820191506060810236038213156155bd57600080fd5b6155cb8183600286016152c6565b50506155da608083018361538e565b6155e881836003860161544f565b50506119a16155f960a0840161550e565b6004830160ff1981541660ff8315151681178255505050565b60006000198214156156265761562661520f565b5060010190565b60006020828403121561563f57600080fd5b5051919050565b60006080828403121561565857600080fd5b604051608081018181106001600160401b038211171561567a5761567a614b41565b8060405250825181526020830151602082015260408301516040820152606083015160608201528091505092915050565b634e487b7160e01b600052601260045260246000fd5b6000826156d0576156d06156ab565b500490565b80516156e0816151ab565b919050565b6000602082840312156156f757600080fd5b8151614010816151ab565b6000828210156157145761571461520f565b500390565b60208082526014908201527310dbdb9d1c9858dd081b9bdd08185b1b1bddd95960621b604082015260600190565b6020808252601a908201527f50726f787920636f6e7472616374206e6f7420616c6c6f776564000000000000604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b60208082526022908201527f43616e7420627920636f6e74726163747320776974686f757420746f6b656e73604082015261125960f21b606082015260800190565b600082198211156158345761583461520f565b500190565b60808152600061584c6080830187614d4c565b63ffffffff959095166020830152506001600160a01b03929092166040830152606090910152919050565b63ffffffff811681146119b957600080fd5b813561589481615877565b63ffffffff8116905081548163ffffffff19821617835560208401356158b9816151ab565b73ffffffffffffffffffffffffffffffff0000000060209190911b166001600160a01b0319821683178117845560408501356158f481614dee565b6001600160a81b0319929092169092179190911790151560a01b60ff60a01b1617905550565b805160ff811681146156e057600080fd5b80516156e0816149f5565b80516156e081615877565b80516156e081614dee565b600082601f83011261595d57600080fd5b81516001600160401b0381111561597657615976614b41565b615989601f8201601f1916602001614b80565b81815284602083860101111561599e57600080fd5b6145e5826020830160208701614957565b600060208083850312156159c257600080fd5b82516001600160401b03808211156159d957600080fd5b818501915085601f8301126159ed57600080fd5b81516159fb614c1d82614bb0565b81815260059190911b83018401908481019088831115615a1a57600080fd5b8585015b83811015615b3f57805185811115615a3557600080fd5b8601610180818c03601f19011215615a4c57600080fd5b615a54614b57565b888201518152615a666040830161591a565b89820152615a766060830161592b565b6040820152615a87608083016156d5565b6060820152615a9860a083016156d5565b6080820152615aa960c08301615936565b60a0820152615aba60e08301615936565b60c0820152610100615acd818401615936565b60e0830152610120615ae0818501615936565b828401526101409150615af4828501615941565b908301526101608381015189811115615b0c57600080fd5b615b1a8f8d8388010161594c565b8385015250615b2c6101808501615941565b9083015250845250918601918601615a1e565b5098975050505050505050565b600081615b5b57615b5b61520f565b506000190190565b602080825260149082015273416464726573732063616e74206265207a65726f60601b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020815260006140106020830184614d4c565b60008060408385031215615c0557600080fd5b825191506020808401516001600160401b03811115615c2357600080fd5b8401601f81018613615c3457600080fd5b8051615c42614c1d82614bb0565b81815260059190911b82018301908381019088831115615c6157600080fd5b928401925b82841015615c7f57835182529284019290840190615c66565b80955050505050509250929050565b6020808252825182820181905260009190848201906040850190845b81811015615ccb57615cbd838551614a27565b938501939250600101615caa565b50909695505050505050565b60a0808252810186905260006001600160fb1b03871115615cf757600080fd5b8660051b808960c0850137600090830160c00190815263ffffffff9690961660208301525092151560408401526001600160a01b0391909116606083015260809091015292915050565b8315158152606060208201526000615d5c6060830185614ed5565b8281036040840152615d6e8185614f0e565b9695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351615db0816017850160208801614957565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351615de1816028840160208801614957565b01602801949350505050565b6020815260006140106020830184614983565b600082615e0f57615e0f6156ab565b500690565b60006001600160801b03808316818516808303821115615e3657615e3661520f565b01949350505050565b600060208284031215615e5157600080fd5b815161401081614dee565b60008251615e6e818460208701614957565b919091019291505056fea2646970667358221220e9f0a394fe801ceff70e19dd2248aa6cd7307564855ec63dc39054c950f5e46f64736f6c63430008090033