UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

182 lines (181 loc) 33.3 kB
{ "_format": "hh-sol-artifact-1", "contractName": "Levels", "sourceName": "contracts/mocks/Stargate/StargateNFT/libraries/Levels.sol", "abi": [ { "inputs": [], "name": "BlockInFuture", "type": "error" }, { "inputs": [], "name": "CheckpointUnorderedInsertion", "type": "error" }, { "inputs": [], "name": "CirculatingSupplyGreaterThanCap", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "levelId", "type": "uint8" } ], "name": "LevelNotFound", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "bits", "type": "uint8" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "SafeCastOverflowedUintDowncast", "type": "error" }, { "inputs": [], "name": "StringCannotBeEmpty", "type": "error" }, { "inputs": [], "name": "ValueCannotBeZero", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint8", "name": "levelId", "type": "uint8" }, { "indexed": false, "internalType": "uint256", "name": "oldBoostPricePerBlock", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBoostPricePerBlock", "type": "uint256" } ], "name": "LevelBoostPricePerBlockUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint8", "name": "levelId", "type": "uint8" }, { "indexed": false, "internalType": "uint32", "name": "oldCap", "type": "uint32" }, { "indexed": false, "internalType": "uint32", "name": "newCap", "type": "uint32" } ], "name": "LevelCapUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint8", "name": "levelId", "type": "uint8" }, { "indexed": false, "internalType": "uint208", "name": "oldCirculatingSupply", "type": "uint208" }, { "indexed": false, "internalType": "uint208", "name": "newCirculatingSupply", "type": "uint208" } ], "name": "LevelCirculatingSupplyUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint8", "name": "levelId", "type": "uint8" }, { "indexed": false, "internalType": "string", "name": "name", "type": "string" }, { "indexed": false, "internalType": "bool", "name": "isX", "type": "bool" }, { "indexed": false, "internalType": "uint64", "name": "maturityBlocks", "type": "uint64" }, { "indexed": false, "internalType": "uint64", "name": "scaledRewardFactor", "type": "uint64" }, { "indexed": false, "internalType": "uint256", "name": "vetAmountRequiredToStake", "type": "uint256" } ], "name": "LevelUpdated", "type": "event" } ], "bytecode": "0x611c9561003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a35760003560e01c8063132f244f146100a85780632a08d1b4146100d15780633a38b4b7146100f157806348c2066714610111578063571a481114610133578063587167e31461016a5780638cdca9e01461018a5780638ea028a8146101aa57806393f53a67146101d5578063d8fa39d9146101f5578063e35bc30f14610215575b600080fd5b6100bb6100b6366004611407565b610228565b6040516100c89190611433565b60405180910390f35b6100e46100df366004611480565b6102f5565b6040516100c89190611499565b6101046100ff366004611480565b610300565b6040516100c89190611580565b81801561011d57600080fd5b5061013161012c366004611607565b6103cd565b005b610146610141366004611643565b6103dd565b604080516001600160d01b03909316835263ffffffff9091166020830152016100c8565b81801561017657600080fd5b50610131610185366004611790565b610464565b81801561019657600080fd5b506101316101a53660046118a6565b6106ce565b6101bd6101b83660046118db565b6106d9565b6040516001600160d01b0390911681526020016100c8565b8180156101e157600080fd5b506101316101f036600461190e565b6106ee565b610208610203366004611643565b610706565b6040516100c891906119a0565b6100bb610223366004611480565b61071f565b8154606090600090600160301b900460ff166001600160401b0381111561025157610251611666565b60405190808252806020026020018201604052801561027a578160200160208202803683370190505b50905060005b845460ff600160301b909104811690821610156102eb576102ac856102a68360016119c9565b866107e1565b828260ff16815181106102c1576102c16119e2565b6001600160d01b0390921660209283029190910190910152806102e3816119f8565b915050610280565b5090505b92915050565b60606102ef82610883565b8054606090600090600160301b900460ff166001600160401b0381111561032957610329611666565b60405190808252806020026020018201604052801561036257816020015b61034f6113b7565b8152602001906001900390816103475790505b50905060005b835460ff600160301b909104811690821610156103c6576103938461038e8360016119c9565b610936565b828260ff16815181106103a8576103a86119e2565b602002602001018190525080806103be906119f8565b915050610368565b5092915050565b6103d8838383610a6d565b505050565b60ff80821660009081526005840160205260408120600101549091829161040b918691610100900416610b66565b6104335782604051632352fba560e01b815260040161042a9190611a17565b60405180910390fd5b61043d8484610b8b565b60ff909316600090815260079094016020525050604090912054909163ffffffff90911690565b8154600160301b900460ff1682600661047c836119f8565b82546101009290920a60ff81810219909316918316021790915583548351600160301b9091049091166040909101525080516104b790610ba8565b806040015163ffffffff1681602001516001600160d01b031611156104ef5760405163d61e100160e01b815260040160405180910390fd5b805160408082015160ff1660009081526005850160205220815181906105159082611aad565b506020828101516001830180546040808701516060880151608089015161ffff1990941695151561ff0019169590951761010060ff909216919091021762010000600160901b031916620100006001600160401b0395861602600160501b600160901b03191617600160501b949092169390930217905560a090930151600290920191909155825190910151908201516105b0918491610bf3565b604081810151825182015160ff908116600090815260078601602090815290849020805463ffffffff191663ffffffff909416939093179092558351808401518151938201516060830151608084015160a09094015196519290941695600080516020611c408339815191529561062e959094929390929190611b6c565b60405180910390a2815460208281015160408051600081526001600160d01b0390921692820192909252600160301b90920460ff16917f2d3ae9d6214117349be592e75147c4a63aa26af4abdf41364cab8409def6c55f910160405180910390a281546040828101519051600160301b90920460ff1691600080516020611c20833981519152916106c29160009190611baa565b60405180910390a25050565b6103d8838383610c20565b60006106e68484846107e1565b949350505050565b6106fd87878787878787610cd2565b50505050505050565b61070e6113b7565b6107188383610936565b9392505050565b8054606090600090600160301b900460ff166001600160401b0381111561074857610748611666565b604051908082528060200260200182016040528015610771578160200160208202803683370190505b50905060005b835460ff600160301b909104811690821610156103c6576107a28461079d8360016119c9565b610b8b565b828260ff16815181106107b7576107b76119e2565b6001600160d01b0390921660209283029190910190910152806107d9816119f8565b915050610777565b60ff8083166000908152600585016020526040812060010154909161080e91869161010090910416610b66565b61082d5782604051632352fba560e01b815260040161042a9190611a17565b610835610ed3565b65ffffffffffff168265ffffffffffff1611156108655760405163e24abd6f60e01b815260040160405180910390fd5b60ff8316600090815260068501602052604090206106e69083610ee2565b8054606090600090600160301b900460ff166001600160401b038111156108ac576108ac611666565b6040519080825280602002602001820160405280156108d5578160200160208202803683370190505b50905060005b835460ff600160301b909104811690821610156103c6576108fd8160016119c9565b828260ff1681518110610912576109126119e2565b60ff909216602092830291909101909101528061092e816119f8565b9150506108db565b61093e6113b7565b60ff82166000908152600584016020526040808220815160c0810190925280548290829061096b90611a25565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611a25565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b5050509183525050600182015460ff808216151560208401526101008204166040808401919091526001600160401b0362010000830481166060850152600160501b909204909116608083015260029092015460a090910152810151909150610a4e908590610b66565b6107185782604051632352fba560e01b815260040161042a9190611a17565b60ff8083166000908152600585016020526040902060010154610a97918591610100900416610b66565b610ab65781604051632352fba560e01b815260040161042a9190611a17565b8063ffffffff16610ac78484610b8b565b6001600160d01b03161115610aef5760405163d61e100160e01b815260040160405180910390fd5b60ff8216600081815260078501602052604090819020549051600080516020611c2083398151915291610b2c9163ffffffff909116908590611baa565b60405180910390a260ff909116600090815260079092016020526040909120805463ffffffff90921663ffffffff19909216919091179055565b6000808260ff161180156107185750509054600160301b900460ff9081169116111590565b60ff81166000908152600683016020526040812061071890610f98565b805151600003610bcb5760405163155796cd60e31b815260040160405180910390fd5b8060a00151600003610bf0576040516363868c5560e11b815260040160405180910390fd5b50565b610c19610bfe610ed3565b60ff8416600090815260068601602052604090209083610fd1565b5050505050565b60ff8083166000908152600585016020526040902060010154610c4a918591610100900416610b66565b610c695781604051632352fba560e01b815260040161042a9190611a17565b60ff82166000818152600e850160209081526040918290205482519081529081018490527f87623ef67665e7508956ddb5ddaaafe677f92446bbe364db9e4c1289d6cdec4e910160405180910390a260ff9091166000908152600e909201602052604090912055565b60ff8087166000908152600589016020526040902060010154610cfc918991610100900416610b66565b610d1b5785604051632352fba560e01b815260040161042a9190611a17565b60ff861660009081526005880160205260409020610d398682611aad565b5060ff86166000908152600588016020526040908190206001810180546001600160401b03868116600160501b02600160501b600160901b0319918916620100000262010000600160501b03198b15151661ff01600160501b031990941693909317929092171617905560028101839055815160c081019092528054610e9992919082908290610dc890611a25565b80601f0160208091040260200160405190810160405280929190818152602001828054610df490611a25565b8015610e415780601f10610e1657610100808354040283529160200191610e41565b820191906000526020600020905b815481529060010190602001808311610e2457829003601f168201915b5050509183525050600182015460ff8082161515602084015261010082041660408301526001600160401b0362010000820481166060840152600160501b90910416608082015260029091015460a090910152610ba8565b8560ff16600080516020611c408339815191528686868686604051610ec2959493929190611b6c565b60405180910390a250505050505050565b6000610edd610fec565b905090565b815460009081816005811115610f41576000610efd84610ff7565b610f079085611bc1565b60008881526020902090915081015465ffffffffffff9081169087161015610f3157809150610f3f565b610f3c816001611bd4565b92505b505b6000610f4f878785856110df565b90508015610f8a57610f7487610f66600184611bc1565b600091825260209091200190565b54600160301b90046001600160d01b0316610f8d565b60005b979650505050505050565b80546000908015610fc857610fb283610f66600184611bc1565b54600160301b90046001600160d01b0316610718565b60009392505050565b600080610fdf858585611141565b915091505b935093915050565b6000610edd436112bb565b60008160000361100957506000919050565b60006001611016846112f2565b901c6001901b9050600181848161102f5761102f611be7565b048201901c9050600181848161104757611047611be7565b048201901c9050600181848161105f5761105f611be7565b048201901c9050600181848161107757611077611be7565b048201901c9050600181848161108f5761108f611be7565b048201901c905060018184816110a7576110a7611be7565b048201901c905060018184816110bf576110bf611be7565b048201901c9050610718818285816110d9576110d9611be7565b04611386565b60005b818310156111395760006110f6848461139c565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561112557809250611133565b611130816001611bd4565b93505b506110e2565b509392505050565b82546000908190801561126057600061115f87610f66600185611bc1565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b0316602084015291925090871610156111b357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036111ff57846111d688610f66600186611bc1565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611250565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610fe49050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610fe4565b600065ffffffffffff8211156112ee576040516306dfcc6560e41b8152603060048201526024810183905260440161042a565b5090565b600080608083901c1561130757608092831c92015b604083901c1561131957604092831c92015b602083901c1561132b57602092831c92015b601083901c1561133d57601092831c92015b600883901c1561134f57600892831c92015b600483901c1561136157600492831c92015b600283901c1561137357600292831c92015b600183901c156102ef5760010192915050565b60008183106113955781610718565b5090919050565b60006113ab6002848418611bfd565b61071890848416611bd4565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915290565b803565ffffffffffff8116811461140257600080fd5b919050565b6000806040838503121561141a57600080fd5b8235915061142a602084016113ec565b90509250929050565b6020808252825182820181905260009190848201906040850190845b818110156114745783516001600160d01b03168352928401929184019160010161144f565b50909695505050505050565b60006020828403121561149257600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561147457835160ff16835292840192918401916001016114b5565b6000815180845260005b818110156114fa576020818501810151868301820152016114de565b506000602082860101526020601f19601f83011685010191505092915050565b6000815160c0845261152f60c08501826114d4565b905060208301511515602085015260ff6040840151166040850152606083015160018060401b038082166060870152806080860151166080870152505060a083015160a08501528091505092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156115d557603f198886030184526115c385835161151a565b945092850192908501906001016115a7565b5092979650505050505050565b803560ff8116811461140257600080fd5b803563ffffffff8116811461140257600080fd5b60008060006060848603121561161c57600080fd5b8335925061162c602085016115e2565b915061163a604085016115f3565b90509250925092565b6000806040838503121561165657600080fd5b8235915061142a602084016115e2565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561169e5761169e611666565b60405290565b60405160c081016001600160401b038111828210171561169e5761169e611666565b600082601f8301126116d757600080fd5b81356001600160401b03808211156116f1576116f1611666565b604051601f8301601f19908116603f0116810190828211818310171561171957611719611666565b8160405283815286602085880101111561173257600080fd5b836020870160208301376000602085830101528094505050505092915050565b8035801515811461140257600080fd5b80356001600160401b038116811461140257600080fd5b80356001600160d01b038116811461140257600080fd5b600080604083850312156117a357600080fd5b8235915060208301356001600160401b03808211156117c157600080fd5b90840190606082870312156117d557600080fd5b6117dd61167c565b8235828111156117ec57600080fd5b830160c081890312156117fe57600080fd5b6118066116a4565b81358481111561181557600080fd5b6118218a8285016116c6565b82525061183060208301611752565b6020820152611841604083016115e2565b604082015261185260608301611762565b606082015261186360808301611762565b608082015260a082013560a0820152808352505061188360208401611779565b6020820152611894604084016115f3565b60408201528093505050509250929050565b6000806000606084860312156118bb57600080fd5b833592506118cb602085016115e2565b9150604084013590509250925092565b6000806000606084860312156118f057600080fd5b83359250611900602085016115e2565b915061163a604085016113ec565b600080600080600080600060e0888a03121561192957600080fd5b87359650611939602089016115e2565b955060408801356001600160401b0381111561195457600080fd5b6119608a828b016116c6565b95505061196f60608901611752565b935061197d60808901611762565b925061198b60a08901611762565b915060c0880135905092959891949750929550565b602081526000610718602083018461151a565b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156102ef576102ef6119b3565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8103611a0e57611a0e6119b3565b60010192915050565b60ff91909116815260200190565b600181811c90821680611a3957607f821691505b602082108103611a5957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156103d857600081815260208120601f850160051c81016020861015611a865750805b601f850160051c820191505b81811015611aa557828155600101611a92565b505050505050565b81516001600160401b03811115611ac657611ac6611666565b611ada81611ad48454611a25565b84611a5f565b602080601f831160018114611b0f5760008415611af75750858301515b600019600386901b1c1916600185901b178555611aa5565b600085815260208120601f198616915b82811015611b3e57888601518255948401946001909101908401611b1f565b5085821015611b5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60a081526000611b7f60a08301886114d4565b9515156020830152506001600160401b03938416604082015291909216606082015260800152919050565b63ffffffff92831681529116602082015260400190565b818103818111156102ef576102ef6119b3565b808201808211156102ef576102ef6119b3565b634e487b7160e01b600052601260045260246000fd5b600082611c1a57634e487b7160e01b600052601260045260246000fd5b50049056fea8fea641f11db999cf8191284c4fa96dc28a20a81368b7190b9fd772d2d2c153f100d70d7533f8cc876180c07c9da3b2fb3dd79fbcd54884d6264774f6bd9a8ba26469706673582212202d9b7e69d0f9318a6ac27ae2012772a40230cedc0cb2901598d7dea09307c4b764736f6c63430008140033", "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100a35760003560e01c8063132f244f146100a85780632a08d1b4146100d15780633a38b4b7146100f157806348c2066714610111578063571a481114610133578063587167e31461016a5780638cdca9e01461018a5780638ea028a8146101aa57806393f53a67146101d5578063d8fa39d9146101f5578063e35bc30f14610215575b600080fd5b6100bb6100b6366004611407565b610228565b6040516100c89190611433565b60405180910390f35b6100e46100df366004611480565b6102f5565b6040516100c89190611499565b6101046100ff366004611480565b610300565b6040516100c89190611580565b81801561011d57600080fd5b5061013161012c366004611607565b6103cd565b005b610146610141366004611643565b6103dd565b604080516001600160d01b03909316835263ffffffff9091166020830152016100c8565b81801561017657600080fd5b50610131610185366004611790565b610464565b81801561019657600080fd5b506101316101a53660046118a6565b6106ce565b6101bd6101b83660046118db565b6106d9565b6040516001600160d01b0390911681526020016100c8565b8180156101e157600080fd5b506101316101f036600461190e565b6106ee565b610208610203366004611643565b610706565b6040516100c891906119a0565b6100bb610223366004611480565b61071f565b8154606090600090600160301b900460ff166001600160401b0381111561025157610251611666565b60405190808252806020026020018201604052801561027a578160200160208202803683370190505b50905060005b845460ff600160301b909104811690821610156102eb576102ac856102a68360016119c9565b866107e1565b828260ff16815181106102c1576102c16119e2565b6001600160d01b0390921660209283029190910190910152806102e3816119f8565b915050610280565b5090505b92915050565b60606102ef82610883565b8054606090600090600160301b900460ff166001600160401b0381111561032957610329611666565b60405190808252806020026020018201604052801561036257816020015b61034f6113b7565b8152602001906001900390816103475790505b50905060005b835460ff600160301b909104811690821610156103c6576103938461038e8360016119c9565b610936565b828260ff16815181106103a8576103a86119e2565b602002602001018190525080806103be906119f8565b915050610368565b5092915050565b6103d8838383610a6d565b505050565b60ff80821660009081526005840160205260408120600101549091829161040b918691610100900416610b66565b6104335782604051632352fba560e01b815260040161042a9190611a17565b60405180910390fd5b61043d8484610b8b565b60ff909316600090815260079094016020525050604090912054909163ffffffff90911690565b8154600160301b900460ff1682600661047c836119f8565b82546101009290920a60ff81810219909316918316021790915583548351600160301b9091049091166040909101525080516104b790610ba8565b806040015163ffffffff1681602001516001600160d01b031611156104ef5760405163d61e100160e01b815260040160405180910390fd5b805160408082015160ff1660009081526005850160205220815181906105159082611aad565b506020828101516001830180546040808701516060880151608089015161ffff1990941695151561ff0019169590951761010060ff909216919091021762010000600160901b031916620100006001600160401b0395861602600160501b600160901b03191617600160501b949092169390930217905560a090930151600290920191909155825190910151908201516105b0918491610bf3565b604081810151825182015160ff908116600090815260078601602090815290849020805463ffffffff191663ffffffff909416939093179092558351808401518151938201516060830151608084015160a09094015196519290941695600080516020611c408339815191529561062e959094929390929190611b6c565b60405180910390a2815460208281015160408051600081526001600160d01b0390921692820192909252600160301b90920460ff16917f2d3ae9d6214117349be592e75147c4a63aa26af4abdf41364cab8409def6c55f910160405180910390a281546040828101519051600160301b90920460ff1691600080516020611c20833981519152916106c29160009190611baa565b60405180910390a25050565b6103d8838383610c20565b60006106e68484846107e1565b949350505050565b6106fd87878787878787610cd2565b50505050505050565b61070e6113b7565b6107188383610936565b9392505050565b8054606090600090600160301b900460ff166001600160401b0381111561074857610748611666565b604051908082528060200260200182016040528015610771578160200160208202803683370190505b50905060005b835460ff600160301b909104811690821610156103c6576107a28461079d8360016119c9565b610b8b565b828260ff16815181106107b7576107b76119e2565b6001600160d01b0390921660209283029190910190910152806107d9816119f8565b915050610777565b60ff8083166000908152600585016020526040812060010154909161080e91869161010090910416610b66565b61082d5782604051632352fba560e01b815260040161042a9190611a17565b610835610ed3565b65ffffffffffff168265ffffffffffff1611156108655760405163e24abd6f60e01b815260040160405180910390fd5b60ff8316600090815260068501602052604090206106e69083610ee2565b8054606090600090600160301b900460ff166001600160401b038111156108ac576108ac611666565b6040519080825280602002602001820160405280156108d5578160200160208202803683370190505b50905060005b835460ff600160301b909104811690821610156103c6576108fd8160016119c9565b828260ff1681518110610912576109126119e2565b60ff909216602092830291909101909101528061092e816119f8565b9150506108db565b61093e6113b7565b60ff82166000908152600584016020526040808220815160c0810190925280548290829061096b90611a25565b80601f016020809104026020016040519081016040528092919081815260200182805461099790611a25565b80156109e45780601f106109b9576101008083540402835291602001916109e4565b820191906000526020600020905b8154815290600101906020018083116109c757829003601f168201915b5050509183525050600182015460ff808216151560208401526101008204166040808401919091526001600160401b0362010000830481166060850152600160501b909204909116608083015260029092015460a090910152810151909150610a4e908590610b66565b6107185782604051632352fba560e01b815260040161042a9190611a17565b60ff8083166000908152600585016020526040902060010154610a97918591610100900416610b66565b610ab65781604051632352fba560e01b815260040161042a9190611a17565b8063ffffffff16610ac78484610b8b565b6001600160d01b03161115610aef5760405163d61e100160e01b815260040160405180910390fd5b60ff8216600081815260078501602052604090819020549051600080516020611c2083398151915291610b2c9163ffffffff909116908590611baa565b60405180910390a260ff909116600090815260079092016020526040909120805463ffffffff90921663ffffffff19909216919091179055565b6000808260ff161180156107185750509054600160301b900460ff9081169116111590565b60ff81166000908152600683016020526040812061071890610f98565b805151600003610bcb5760405163155796cd60e31b815260040160405180910390fd5b8060a00151600003610bf0576040516363868c5560e11b815260040160405180910390fd5b50565b610c19610bfe610ed3565b60ff8416600090815260068601602052604090209083610fd1565b5050505050565b60ff8083166000908152600585016020526040902060010154610c4a918591610100900416610b66565b610c695781604051632352fba560e01b815260040161042a9190611a17565b60ff82166000818152600e850160209081526040918290205482519081529081018490527f87623ef67665e7508956ddb5ddaaafe677f92446bbe364db9e4c1289d6cdec4e910160405180910390a260ff9091166000908152600e909201602052604090912055565b60ff8087166000908152600589016020526040902060010154610cfc918991610100900416610b66565b610d1b5785604051632352fba560e01b815260040161042a9190611a17565b60ff861660009081526005880160205260409020610d398682611aad565b5060ff86166000908152600588016020526040908190206001810180546001600160401b03868116600160501b02600160501b600160901b0319918916620100000262010000600160501b03198b15151661ff01600160501b031990941693909317929092171617905560028101839055815160c081019092528054610e9992919082908290610dc890611a25565b80601f0160208091040260200160405190810160405280929190818152602001828054610df490611a25565b8015610e415780601f10610e1657610100808354040283529160200191610e41565b820191906000526020600020905b815481529060010190602001808311610e2457829003601f168201915b5050509183525050600182015460ff8082161515602084015261010082041660408301526001600160401b0362010000820481166060840152600160501b90910416608082015260029091015460a090910152610ba8565b8560ff16600080516020611c408339815191528686868686604051610ec2959493929190611b6c565b60405180910390a250505050505050565b6000610edd610fec565b905090565b815460009081816005811115610f41576000610efd84610ff7565b610f079085611bc1565b60008881526020902090915081015465ffffffffffff9081169087161015610f3157809150610f3f565b610f3c816001611bd4565b92505b505b6000610f4f878785856110df565b90508015610f8a57610f7487610f66600184611bc1565b600091825260209091200190565b54600160301b90046001600160d01b0316610f8d565b60005b979650505050505050565b80546000908015610fc857610fb283610f66600184611bc1565b54600160301b90046001600160d01b0316610718565b60009392505050565b600080610fdf858585611141565b915091505b935093915050565b6000610edd436112bb565b60008160000361100957506000919050565b60006001611016846112f2565b901c6001901b9050600181848161102f5761102f611be7565b048201901c9050600181848161104757611047611be7565b048201901c9050600181848161105f5761105f611be7565b048201901c9050600181848161107757611077611be7565b048201901c9050600181848161108f5761108f611be7565b048201901c905060018184816110a7576110a7611be7565b048201901c905060018184816110bf576110bf611be7565b048201901c9050610718818285816110d9576110d9611be7565b04611386565b60005b818310156111395760006110f6848461139c565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff16111561112557809250611133565b611130816001611bd4565b93505b506110e2565b509392505050565b82546000908190801561126057600061115f87610f66600185611bc1565b60408051808201909152905465ffffffffffff808216808452600160301b9092046001600160d01b0316602084015291925090871610156111b357604051632520601d60e01b815260040160405180910390fd5b805165ffffffffffff8088169116036111ff57846111d688610f66600186611bc1565b80546001600160d01b0392909216600160301b0265ffffffffffff909216919091179055611250565b6040805180820190915265ffffffffffff80881682526001600160d01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160301b029216919091179101555b602001519250839150610fe49050565b50506040805180820190915265ffffffffffff80851682526001600160d01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160301b029190931617920191909155905081610fe4565b600065ffffffffffff8211156112ee576040516306dfcc6560e41b8152603060048201526024810183905260440161042a565b5090565b600080608083901c1561130757608092831c92015b604083901c1561131957604092831c92015b602083901c1561132b57602092831c92015b601083901c1561133d57601092831c92015b600883901c1561134f57600892831c92015b600483901c1561136157600492831c92015b600283901c1561137357600292831c92015b600183901c156102ef5760010192915050565b60008183106113955781610718565b5090919050565b60006113ab6002848418611bfd565b61071890848416611bd4565b6040805160c081018252606080825260006020830181905292820183905281018290526080810182905260a081019190915290565b803565ffffffffffff8116811461140257600080fd5b919050565b6000806040838503121561141a57600080fd5b8235915061142a602084016113ec565b90509250929050565b6020808252825182820181905260009190848201906040850190845b818110156114745783516001600160d01b03168352928401929184019160010161144f565b50909695505050505050565b60006020828403121561149257600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b8181101561147457835160ff16835292840192918401916001016114b5565b6000815180845260005b818110156114fa576020818501810151868301820152016114de565b506000602082860101526020601f19601f83011685010191505092915050565b6000815160c0845261152f60c08501826114d4565b905060208301511515602085015260ff6040840151166040850152606083015160018060401b038082166060870152806080860151166080870152505060a083015160a08501528091505092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b828110156115d557603f198886030184526115c385835161151a565b945092850192908501906001016115a7565b5092979650505050505050565b803560ff8116811461140257600080fd5b803563ffffffff8116811461140257600080fd5b60008060006060848603121561161c57600080fd5b8335925061162c602085016115e2565b915061163a604085016115f3565b90509250925092565b6000806040838503121561165657600080fd5b8235915061142a602084016115e2565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561169e5761169e611666565b60405290565b60405160c081016001600160401b038111828210171561169e5761169e611666565b600082601f8301126116d757600080fd5b81356001600160401b03808211156116f1576116f1611666565b604051601f8301601f19908116603f0116810190828211818310171561171957611719611666565b8160405283815286602085880101111561173257600080fd5b836020870160208301376000602085830101528094505050505092915050565b8035801515811461140257600080fd5b80356001600160401b038116811461140257600080fd5b80356001600160d01b038116811461140257600080fd5b600080604083850312156117a357600080fd5b8235915060208301356001600160401b03808211156117c157600080fd5b90840190606082870312156117d557600080fd5b6117dd61167c565b8235828111156117ec57600080fd5b830160c081890312156117fe57600080fd5b6118066116a4565b81358481111561181557600080fd5b6118218a8285016116c6565b82525061183060208301611752565b6020820152611841604083016115e2565b604082015261185260608301611762565b606082015261186360808301611762565b608082015260a082013560a0820152808352505061188360208401611779565b6020820152611894604084016115f3565b60408201528093505050509250929050565b6000806000606084860312156118bb57600080fd5b833592506118cb602085016115e2565b9150604084013590509250925092565b6000806000606084860312156118f057600080fd5b83359250611900602085016115e2565b915061163a604085016113ec565b600080600080600080600060e0888a03121561192957600080fd5b87359650611939602089016115e2565b955060408801356001600160401b0381111561195457600080fd5b6119608a828b016116c6565b95505061196f60608901611752565b935061197d60808901611762565b925061198b60a08901611762565b915060c0880135905092959891949750929550565b602081526000610718602083018461151a565b634e487b7160e01b600052601160045260246000fd5b60ff81811683821601908111156102ef576102ef6119b3565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8103611a0e57611a0e6119b3565b60010192915050565b60ff91909116815260200190565b600181811c90821680611a3957607f821691505b602082108103611a5957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156103d857600081815260208120601f850160051c81016020861015611a865750805b601f850160051c820191505b81811015611aa557828155600101611a92565b505050505050565b81516001600160401b03811115611ac657611ac6611666565b611ada81611ad48454611a25565b84611a5f565b602080601f831160018114611b0f5760008415611af75750858301515b600019600386901b1c1916600185901b178555611aa5565b600085815260208120601f198616915b82811015611b3e57888601518255948401946001909101908401611b1f565b5085821015611b5c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60a081526000611b7f60a08301886114d4565b9515156020830152506001600160401b03938416604082015291909216606082015260800152919050565b63ffffffff92831681529116602082015260400190565b818103818111156102ef576102ef6119b3565b808201808211156102ef576102ef6119b3565b634e487b7160e01b600052601260045260246000fd5b600082611c1a57634e487b7160e01b600052601260045260246000fd5b50049056fea8fea641f11db999cf8191284c4fa96dc28a20a81368b7190b9fd772d2d2c153f100d70d7533f8cc876180c07c9da3b2fb3dd79fbcd54884d6264774f6bd9a8ba26469706673582212202d9b7e69d0f9318a6ac27ae2012772a40230cedc0cb2901598d7dea09307c4b764736f6c63430008140033", "linkReferences": {}, "deployedLinkReferences": {} }