UNPKG

@river-build/generated

Version:

## How to generate contract types

1 lines 228 kB
{"abi":[{"type":"function","name":"expiresAt","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipCurrency","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMembershipDuration","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getMembershipFreeAllocation","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipImage","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMembershipLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipPrice","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getMembershipPricingModule","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getMembershipRenewalPrice","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getProtocolFee","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSpaceFactory","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"joinSpace","inputs":[{"name":"receiver","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"joinSpaceWithReferral","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"referral","type":"tuple","internalType":"struct IMembershipBase.ReferralTypes","components":[{"name":"partner","type":"address","internalType":"address"},{"name":"userReferral","type":"address","internalType":"address"},{"name":"referralCode","type":"string","internalType":"string"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"renewMembership","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revenue","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"setMembershipFreeAllocation","inputs":[{"name":"newAllocation","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipImage","inputs":[{"name":"newImage","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipLimit","inputs":[{"name":"newLimit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipPrice","inputs":[{"name":"newPrice","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setMembershipPricingModule","inputs":[{"name":"pricingModule","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ApprovalForAll","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"operator","type":"address","indexed":true,"internalType":"address"},{"name":"approved","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"Banned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ConsecutiveTransfer","inputs":[{"name":"fromTokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"toTokenId","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DefaultBpsFeeUpdated","inputs":[{"name":"defaultBpsFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EntitlementCheckResultPosted","inputs":[{"name":"transactionId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"result","type":"uint8","indexed":false,"internalType":"enum IEntitlementGatedBase.NodeVoteStatus"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"InterfaceAdded","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"InterfaceRemoved","inputs":[{"name":"interfaceId","type":"bytes4","indexed":true,"internalType":"bytes4"}],"anonymous":false},{"type":"event","name":"MaxBpsFeeUpdated","inputs":[{"name":"maxBpsFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MaxPartnerFeeSet","inputs":[{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipCurrencyUpdated","inputs":[{"name":"currency","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipFeeRecipientUpdated","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipFreeAllocationUpdated","inputs":[{"name":"allocation","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipLimitUpdated","inputs":[{"name":"limit","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipPriceUpdated","inputs":[{"name":"price","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipTokenIssued","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"MembershipTokenRejected","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"MembershipWithdrawal","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerRegistered","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerRemoved","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PartnerUpdated","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PermissionsAddedToChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsRemovedFromChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"PermissionsUpdatedForChannelRole","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"channelId","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"Prepay__Prepaid","inputs":[{"name":"supply","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ReferralRegistered","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"basisPoints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReferralRemoved","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"ReferralUpdated","inputs":[{"name":"referralCode","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"basisPoints","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"recipient","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RegistryFeeSet","inputs":[{"name":"fee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleCreated","inputs":[{"name":"creator","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleRemoved","inputs":[{"name":"remover","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleUpdated","inputs":[{"name":"updater","type":"address","indexed":true,"internalType":"address"},{"name":"roleId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SubscriptionUpdate","inputs":[{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"expiration","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unbanned","inputs":[{"name":"moderator","type":"address","indexed":true,"internalType":"address"},{"name":"tokenId","type":"uint256","indexed":true,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"ApprovalCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"ApprovalQueryForNonexistentToken","inputs":[]},{"type":"error","name":"BalanceQueryForZeroAddress","inputs":[]},{"type":"error","name":"Banning__AlreadyBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__CannotBanOwner","inputs":[]},{"type":"error","name":"Banning__CannotBanSelf","inputs":[]},{"type":"error","name":"Banning__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Banning__NotBanned","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Dispatcher__TransactionAlreadyExists","inputs":[]},{"type":"error","name":"ERC5643__DurationZero","inputs":[]},{"type":"error","name":"ERC5643__InvalidTokenId","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC5643__NotApprovedOrOwner","inputs":[]},{"type":"error","name":"ERC5643__SubscriptionNotRenewable","inputs":[{"name":"tokenId","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"EntitlementGated_InvalidAddress","inputs":[]},{"type":"error","name":"EntitlementGated_InvalidEntitlement","inputs":[]},{"type":"error","name":"EntitlementGated_NodeAlreadyVoted","inputs":[]},{"type":"error","name":"EntitlementGated_NodeNotFound","inputs":[]},{"type":"error","name":"EntitlementGated_OnlyEntitlementChecker","inputs":[]},{"type":"error","name":"EntitlementGated_RequestIdNotFound","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionCheckAlreadyCompleted","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionCheckAlreadyRegistered","inputs":[]},{"type":"error","name":"EntitlementGated_TransactionNotRegistered","inputs":[]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"Initializable_InInitializingState","inputs":[]},{"type":"error","name":"Introspection_AlreadySupported","inputs":[]},{"type":"error","name":"Introspection_NotSupported","inputs":[]},{"type":"error","name":"Membership__AlreadyMember","inputs":[]},{"type":"error","name":"Membership__Banned","inputs":[]},{"type":"error","name":"Membership__InsufficientAllowance","inputs":[]},{"type":"error","name":"Membership__InsufficientPayment","inputs":[]},{"type":"error","name":"Membership__InvalidAddress","inputs":[]},{"type":"error","name":"Membership__InvalidCurrency","inputs":[]},{"type":"error","name":"Membership__InvalidDuration","inputs":[]},{"type":"error","name":"Membership__InvalidFeeRecipient","inputs":[]},{"type":"error","name":"Membership__InvalidFreeAllocation","inputs":[]},{"type":"error","name":"Membership__InvalidLimit","inputs":[]},{"type":"error","name":"Membership__InvalidMaxSupply","inputs":[]},{"type":"error","name":"Membership__InvalidPayment","inputs":[]},{"type":"error","name":"Membership__InvalidPrice","inputs":[]},{"type":"error","name":"Membership__InvalidPricingModule","inputs":[]},{"type":"error","name":"Membership__InvalidTokenId","inputs":[]},{"type":"error","name":"Membership__InvalidTransactionType","inputs":[]},{"type":"error","name":"Membership__MaxSupplyReached","inputs":[]},{"type":"error","name":"Membership__NotExpired","inputs":[]},{"type":"error","name":"Membership__PriceTooLow","inputs":[]},{"type":"error","name":"MintERC2309QuantityExceedsLimit","inputs":[]},{"type":"error","name":"MintToZeroAddress","inputs":[]},{"type":"error","name":"MintZeroQuantity","inputs":[]},{"type":"error","name":"Ownable__NotOwner","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"Ownable__ZeroAddress","inputs":[]},{"type":"error","name":"OwnerQueryForNonexistentToken","inputs":[]},{"type":"error","name":"OwnershipNotInitializedForExtraData","inputs":[]},{"type":"error","name":"PartnerRegistry__InvalidPartnerFee","inputs":[{"name":"fee","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"PartnerRegistry__InvalidRecipient","inputs":[]},{"type":"error","name":"PartnerRegistry__NotPartnerAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerAlreadyRegistered","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerNotActive","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__PartnerNotRegistered","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"PartnerRegistry__RegistryFeeNotPaid","inputs":[{"name":"fee","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Pausable__NotPaused","inputs":[]},{"type":"error","name":"Pausable__Paused","inputs":[]},{"type":"error","name":"Prepay__InvalidAddress","inputs":[]},{"type":"error","name":"Prepay__InvalidAmount","inputs":[]},{"type":"error","name":"Prepay__InvalidMembership","inputs":[]},{"type":"error","name":"Prepay__InvalidSupplyAmount","inputs":[]},{"type":"error","name":"Reentrancy","inputs":[]},{"type":"error","name":"Referrals__InvalidBasisPoints","inputs":[]},{"type":"error","name":"Referrals__InvalidBpsFee","inputs":[]},{"type":"error","name":"Referrals__InvalidRecipient","inputs":[]},{"type":"error","name":"Referrals__InvalidReferralCode","inputs":[]},{"type":"error","name":"Referrals__ReferralAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementAlreadyExists","inputs":[]},{"type":"error","name":"Roles__EntitlementDoesNotExist","inputs":[]},{"type":"error","name":"Roles__InvalidEntitlementAddress","inputs":[]},{"type":"error","name":"Roles__InvalidPermission","inputs":[]},{"type":"error","name":"Roles__PermissionAlreadyExists","inputs":[]},{"type":"error","name":"Roles__PermissionDoesNotExist","inputs":[]},{"type":"error","name":"Roles__RoleDoesNotExist","inputs":[]},{"type":"error","name":"TransferCallerNotOwnerNorApproved","inputs":[]},{"type":"error","name":"TransferFromIncorrectOwner","inputs":[]},{"type":"error","name":"TransferToNonERC721ReceiverImplementer","inputs":[]},{"type":"error","name":"TransferToZeroAddress","inputs":[]},{"type":"error","name":"URIQueryForNonexistentToken","inputs":[]}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b506200001c62000022565b620000ca565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200006f576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff9081161015620000c757805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b613d8580620000da6000396000f3fe60806040526004361061012a5760003560e01c8063706b8e09116100ab57806393b13cb71161006f57806393b13cb71461031e57806395d600c81461034057806397fb7c1e14610355578063a5a4103114610375578063df9a9fe61461038a578063e847abdd146103aa57600080fd5b8063706b8e09146102a157806379dda585146102b65780637c9669ac146102cb5780638120f0ba146102de5780638c625b061461030b57600080fd5b80635803909f116100f25780635803909f146102015780635becd24a14610221578063657e45e814610241578063686f76841461026e57806369d5f38a1461028157600080fd5b80630ef1be5f1461012f5780631278076a1461015157806317c95709146101795780633e9491a2146101ce57806351cff8d9146101e1575b600080fd5b34801561013b57600080fd5b5061014f61014a36600461333c565b6103bf565b005b34801561015d57600080fd5b50610166610442565b6040519081526020015b60405180910390f35b34801561018557600080fd5b506101666101943660046133ad565b60009081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b031690565b3480156101da57600080fd5b5047610166565b3480156101ed57600080fd5b5061014f6101fc3660046133db565b610459565b34801561020d57600080fd5b5061016661021c3660046133ad565b61051a565b34801561022d57600080fd5b5061014f61023c3660046133ad565b610533565b34801561024d57600080fd5b506102566105bd565b6040516001600160a01b039091168152602001610170565b61014f61027c36600461348d565b6105c7565b34801561028d57600080fd5b5061014f61029c3660046133ad565b61060c565b3480156102ad57600080fd5b506101666106ba565b3480156102c257600080fd5b506102566106c4565b61014f6102d93660046133ad565b6106ce565b3480156102ea57600080fd5b506102f36107f5565b6040516001600160401b039091168152602001610170565b61014f6103193660046133db565b6107ff565b34801561032a57600080fd5b50610333610842565b60405161017091906135c7565b34801561034c57600080fd5b5061016661084c565b34801561036157600080fd5b5061014f6103703660046133ad565b610864565b34801561038157600080fd5b506101666108c9565b34801561039657600080fd5b5061014f6103a53660046133db565b6108de565b3480156103b657600080fd5b5061025661095f565b6103c7610969565b6001600160a01b0316336001600160a01b0316146103ff576040516365f4906560e01b81523360048201526024015b60405180910390fd5b61043e82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a0692505050565b5050565b600061045461044f610a31565b610a67565b905090565b610461610969565b6001600160a01b0316336001600160a01b031614610494576040516365f4906560e01b81523360048201526024016103f6565b3068929eee149b4bd2126854036104b35763ab143c066000526004601cfd5b3068929eee149b4bd21268556001600160a01b0381166104dd576104dd635fbd571760e01b610bdd565b4760008190036104f7576104f7635894b54560e11b610bdd565b61050a610502610be7565b308484610c15565b503868929eee149b4bd212685550565b600061052d82610528610a31565b610c61565b92915050565b61053b610969565b6001600160a01b0316336001600160a01b03161461056e576040516365f4906560e01b81523360048201526024016103f6565b6000610586600080516020613d458339815191525490565b9050801580159061059657508082115b156105ab576105ab63c3983b9160e01b610bdd565b6105b482610cb7565b61043e82610d37565b6000610454610be7565b3068929eee149b4bd2126854036105e65763ab143c066000526004601cfd5b3068929eee149b4bd21268556105fc8282610dc6565b3868929eee149b4bd21268555050565b610614610969565b6001600160a01b0316336001600160a01b031614610647576040516365f4906560e01b81523360048201526024016103f6565b61065081610e91565b610658610f16565b6001600160a01b03166391b7f5ed826040518263ffffffff1660e01b815260040161068591815260200190565b600060405180830381600087803b15801561069f57600080fd5b505af11580156106b3573d6000803e3d6000fd5b5050505050565b6000610454610f44565b6000610454610ff3565b3068929eee149b4bd2126854036106ed5763ab143c066000526004601cfd5b3068929eee149b4bd2126855600061070482611021565b90506001600160a01b03811661072457610724635fbd571760e01b610bdd565b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce0060205260409020546001600160401b031661076361102c565b6001600160401b031661077642836135f0565b1061078b5761078b63dce9a1d360e01b610bdd565b600061079984610528610a31565b905080156107d25760006107ad8483611097565b905060006107bb82846135f0565b905080156107cf576107cd858261111f565b505b50505b6107e3846107de61102c565b611208565b5050503868929eee149b4bd212685550565b600061045461102c565b3068929eee149b4bd21268540361081e5763ab143c066000526004601cfd5b3068929eee149b4bd2126855610833816112d1565b3868929eee149b4bd212685550565b6060610454611379565b6000610454600080516020613d458339815191525490565b61086c610969565b6001600160a01b0316336001600160a01b03161461089f576040516365f4906560e01b81523360048201526024016103f6565b6108b0816108ab610a31565b61141b565b6108c681600080516020613d4583398151915255565b50565b60006104546108d961044f610a31565b611433565b6108e6610969565b6001600160a01b0316336001600160a01b031614610919576040516365f4906560e01b81523360048201526024016103f6565b61092281611587565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880546001600160a01b0319166001600160a01b03831617905550565b6000610454610f16565b6000807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040516331a9108f60e11b815260048101919091529192506001600160a01b031690636352211e90602401602060405180830381865afa1580156109dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a009190613603565b91505090565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c61043e828261369c565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0154600080516020613d05833981519152540390565b600080610a72610f44565b9050610a7c610f16565b604051635cf4ee9160e01b815260048101839052602481018590526001600160a01b039190911690635cf4ee9190604401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee919061375b565b91506000610afa6106c4565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b60919061375b565b905080841015610bd557816001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ba8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcc919061375b565b95945050505050565b505050919050565b8060005260046000fd5b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb604546001600160a01b031690565b8015610c5b5773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03851601610c4f57610c4a828261162d565b610c5b565b610c5b84848484611640565b50505050565b60008281527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6096020526040812054600080516020613d65833981519152908015610cae57915061052d9050565b610bcc84610a67565b610cbf6106c4565b6001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d20919061375b565b8111156108c6576108c663c3983b9160e01b610bdd565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6078190557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d805460ff19166001179055604051600080516020613d658339815191529082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f90600090a25050565b610dcf82611693565b6000610dd96116f6565b90508015610de957610de9611751565b610df38383611785565b600082604051602001610e069190613774565b60408051601f198184030181529190529050631a1bdda160e21b6000610e3786610e32843383886117dd565b61180f565b9050600080610e47883385611913565b9150915080610e87578115610e7d578515610e6557610e6583611b34565b610e6f8389611c34565b610e7888611c82565b610e87565b610e878389611d1f565b5050505050505050565b6000610e9b6106c4565b6001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ed8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610efc919061375b565b90508082101561043e5761043e631a23d64760e11b610bdd565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546001600160a01b031690565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d54600090600080516020613d658339815191529060ff1615610f8a5760070154919050565b610f926106c4565b6001600160a01b0316632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a00919061375b565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606546001600160a01b031690565b600061052d82611d7a565b60006110366106c4565b6001600160a01b0316638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611073573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045491906137af565b60006110a282611433565b905061052d6110af610be7565b846110b86106c4565b6001600160a01b0316634ccb20c06040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111199190613603565b84610c15565b6000600080516020613d6583398151915281611139610be7565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed196001600160a01b03821601611184578382600a01600082825461117491906137d8565b9091555084935061052d92505050565b60006111996001600160a01b03831630611e33565b90506111a782873088610c15565b60006111bc6001600160a01b03841630611e33565b905060006111ca83836135f0565b90508681146111e3576111e3635894b54560e11b610bdd565b8085600a0160008282546111f791906137d8565b909155509098975050505050505050565b60008281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce006020819052604082205490916001600160401b039091169081810361125e5761125784426137eb565b905061126b565b61126884836137eb565b90505b60008581526020848152604091829020805467ffffffffffffffff19166001600160401b038516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b6112da81611693565b60006112e46116f6565b905080156112f4576112f4611751565b6000638c625b0660e01b9050600061132184610e32843388604051806020016040528060008152506117dd565b9050600080611331863385611913565b915091508061137157811561136757841561134f5761134f83611e5f565b6113598387611c34565b61136286611c82565b611371565b6113718387611d1f565b505050505050565b6060600080516020613d65833981519152600c01805461139890613620565b80601f01602080910402602001604051908101604052809291908181526020018280546113c490613620565b80156114115780601f106113e657610100808354040283529160200191611411565b820191906000526020600020905b8154815290600101906020018083116113f457829003601f168201915b5050505050905090565b8082101561043e5761043e636664d51760e11b610bdd565b60008061143e6106c4565b90506000816001600160a01b0316631b159e2e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611480573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a4919061375b565b90508084101561151857816001600160a01b0316630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611510919061375b565b949350505050565b61151084836001600160a01b0316639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157e919061380b565b61ffff16611ef6565b6001600160a01b0381166115a5576115a5630e88bf4b60e01b610bdd565b6115ad610ff3565b6040516346fc05eb60e11b81526001600160a01b0383811660048301529190911690638df80bd690602401602060405180830381865afa1580156115f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116199190613844565b6108c6576108c6630e88bf4b60e01b610bdd565b61043e6001600160a01b03831682611f72565b816001600160a01b0316836001600160a01b03160315610c5b57306001600160a01b0384160361167e57610c4a6001600160a01b0385168383611f8e565b610c5b6001600160a01b038516848484611fde565b6001600160a01b0381166116b1576116b1635fbd571760e01b610bdd565b60006116c9600080516020613d458339815191525490565b905080158015906116e15750806116de610a31565b10155b1561043e5761043e637efcdb4960e01b610bdd565b600080611701610a31565b9050600061170d610f44565b9050600061171961203c565b90508282111561172d576000935050505090565b80156117475761173d6001612066565b6000935050505090565b6001935050505090565b600061175e61044f610a31565b9050600061176b826120a4565b90508034101561043e5761043e635894b54560e11b610bdd565b60208101516001600160a01b03161561043e57816001600160a01b031681602001516001600160a01b031614806117c8575060208101516001600160a01b031633145b1561043e5761043e635fbd571760e01b610bdd565b6060848484846040516020016117f6949392919061385f565b6040516020818303038152906040529050949350505050565b6040516bffffffffffffffffffffffff19606084901b16602082015243603482015260009081906054016040516020818303038152906040528051906020012090506118cf816118a38387611863866120d8565b604080516020808201959095526001600160a01b039390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b915060006118dc8361210d565b5111156118f3576118f363f82e65c360e01b610bdd565b6118fd82846121de565b341561190c5761190c82612225565b5092915050565b6000806000611942604051806040016040528060098152602001684a6f696e537061636560b81b815250612272565b9050600061194f87612414565b825190915060005b81811015611b27576000848281518110611973576119736138a5565b6020026020010151905080604001511561198d5750611b1f565b60005b816080015151811015611b1c576000826080015182815181106119b5576119b56138a5565b60200260200101519050806001600160a01b0316630cf0b5336000801b88604051806040016040528060098152602001684a6f696e537061636560b81b815250604051602001611a0591906138bb565b604051602081830303815290604052611a1d906138d7565b6040518463ffffffff1660e01b8152600401611a3b939291906138fb565b602060405180830381865afa158015611a58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7c9190613844565b15611a9657506001975060009650611b2c95505050505050565b806001600160a01b0316632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ad4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611af89190613844565b15611b1357611b0e8c8c8c84876000015161267e565b600197505b50600101611990565b50505b600101611957565b505050505b935093915050565b6000611b4161044f610a31565b90506000611b4e826120a4565b9050600080600080611b5f8761210d565b806020019051810190611b7291906139a5565b929650909450925090506001600160e01b03198416631a1bdda160e21b14611ba457611ba463da6153bd60e01b610bdd565b600081806020019051810190611bba9190613a2d565b9050600080611bc9868a611097565b90506000611bdc8785600001518c6127cc565b90506000611bf488866020015187604001518e6128a1565b90508082611c02858d6135f0565b611c0c91906135f0565b611c1691906135f0565b9350505050611c298986868a858d612988565b505050505050505050565b60008281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0160205260409020548015611c7d57611c728382612bbb565b611c7d610502610be7565b505050565b6000611c8c612c12565b9050611cce81611c9d61044f610a31565b60009182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b611cd9826001612c28565b611ce5816107de61102c565b60405181906001600160a01b038416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b57690600090a35050565b611d3882604051806020016040528060008152506121de565b611d428282611c34565b6040516001600160a01b038216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f90600090a25050565b60008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df04602052604081205490600080516020613d0583398151915290600160e01b83169003611e195781600003611e135780548310611def57604051636f96cda160e11b815260040160405180910390fd5b5b600019909201600081815260048401602052604090205490929091508115611df0575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b6000816014526370a0823160601b60005260208060246010865afa601f3d111660205102905092915050565b6000611e6c61044f610a31565b90506000611e79826120a4565b90506000806000611e898661210d565b806020019051810190611e9c91906139a5565b50919450925090506001600160e01b031983166346312d8360e11b14611ecc57611ecc63da6153bd60e01b610bdd565b6000611ed88387611097565b90506000611ee682876135f0565b9050610e8788858589858c612988565b6000612710821115611f545760405162461bcd60e51b815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f30306044820152600360fc1b60648201526084016103f6565b612710611f618385613ad6565b611f6b9190613aed565b9392505050565b60003860003884865af161043e5763b12d13eb6000526004601cfd5b816014528060345263a9059cbb60601b60005260206000604460106000875af18060016000511416611fd357803d853b151710611fd3576390b8ec186000526004601cfd5b506000603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c52602060006064601c6000895af1806001600051141661202d57803d873b15171061202d57637939f4246000526004601cfd5b50600060605260405250505050565b60007f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c0080548290829060009061209b9084906135f0565b90915550505050565b6000806120af61203c565b905080156120c05750600092915050565b826000036120d15750600092915050565b5090919050565b6000818152600080516020613d258339815191526020819052604082208054908361210283613b0f565b909155509392505050565b60008181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090208054606091600080516020613d258339815191529161215890613620565b80601f016020809104026020016040519081016040528092919081815260200182805461218490613620565b80156121d15780601f106121a6576101008083540402835291602001916121d1565b820191906000526020600020905b8154815290600101906020018083116121b457829003601f168201915b5050505050915050919050565b60008281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0260205260409020600080516020613d2583398151915290610c5b838261369c565b60008181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01602052604081208054600080516020613d258339815191529234929161209b9084906137d8565b6060600061227e612c42565b80519091506000816001600160401b0381111561229d5761229d6133f8565b60405190808252806020026020018201604052801561230257816020015b6122ef6040518060a00160405280600081526020016060815260200160001515815260200160608152602001606081525090565b8152602001906001900390816122bb5790505b5085516020870120909150600090815b84811015612408576000806000806123428a8681518110612335576123356138a5565b6020026020010151612c6d565b935093509350935060005b82518110156123f75786838281518110612369576123696138a5565b602002602001015180519060200120036123ef576040518060a001604052808c888151811061239a5761239a6138a5565b602002602001015181526020018681526020018515158152602001848152602001838152508989815181106123d1576123d16138a5565b602002602001018190525087806123e790613b0f565b9850506123f7565b60010161234d565b505060019093019250612312915050565b50508152949350505050565b60606000600080516020613d658339815191526006015460405162468b7360e31b81526001600160a01b038581166004830152909116915060009082906302345b9890602401600060405180830381865afa158015612477573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261249f9190810190613b28565b905080516000036125a057604051631f04207360e31b81526001600160a01b0385811660048301526000919084169063f821039890602401602060405180830381865afa1580156124f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125189190613603565b90506001600160a01b0381161561259e5760405162468b7360e31b81526001600160a01b03808316600483015291955085918416906302345b9890602401600060405180830381865afa158015612573573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261259b9190810190613b28565b91505b505b805160006125af8260016137d8565b6001600160401b038111156125c6576125c66133f8565b6040519080825280602002602001820160405280156125ef578160200160208202803683370190505b50905060005b828110156126495783818151811061260f5761260f6138a5565b6020026020010151828281518110612629576126296138a5565b6001600160a01b03909216602092830291909101909101526001016125f5565b508581838151811061265d5761265d6138a5565b6001600160a01b039092166020928302919091019091015295945050505050565b6001600160a01b03851661269c5761269c63133de07160e31b610bdd565b6001600160a01b0382166126ba576126ba634bb7c20560e01b610bdd565b60008381527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0160209081526040808320805460ff191660011781556003810180546001600160a01b0319166001600160a01b03888116919091179091558251908916938101939093527f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e0093909290910160408051601f198184030181529082905284546310df028560e11b83529092506001600160a01b0316906321be050a903490612790908c908b908a908890600401613bd9565b6000604051808303818588803b1580156127a957600080fd5b505af11580156127bd573d6000803e3d6000fd5b50505050505050505050505050565b60006001600160a01b0383166127e457506000611f6b565b60006127ee610ff3565b604051630b969ea960e31b81526001600160a01b0386811660048301529190911690635cb4f54890602401608060405180830381865afa158015612836573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061285a9190613c06565b90508060400151600003612872576000915050611f6b565b612880838260400151611ef6565b915061289961288d610be7565b86836020015185610c15565b509392505050565b600082516000146129125760006128b784612d8f565b60408101519091506001600160a01b031615806128d657506020810151155b156128e5576000915050611510565b6128f3838260200151611ef6565b915061290c612900610be7565b87836040015185610c15565b50611510565b6001600160a01b0384161561151057846001600160a01b0316846001600160a01b03160361294257506000611510565b6129738261296e7faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b611ef6565b9050611510612980610be7565b868684610c15565b811561299a57612998858361111f565b505b6129a48684612bbb565b6129bd86604051806020016040528060008152506121de565b60006129c7610ff3565b604051628956cd60e71b81526b0526976657241697264726f760a41b60048201526001600160a01b0391909116906344ab668090602401602060405180830381865afa158015612a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3f9190613603565b90506000816001600160a01b031663dc69fdde600085604051602001612a6791815260200190565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401612a93929190613c7f565b602060405180830381865afa158015612ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ad4919061375b565b6040516340c10f1960e01b81526001600160a01b03888116600483015260248201839052919250908316906340c10f1990604401600060405180830381600087803b158015612b2257600080fd5b505af1158015612b36573d6000803e3d6000fd5b50505050816001600160a01b03166340c10f19612b51610969565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401600060405180830381600087803b158015612b9957600080fd5b505af1158015612bad573d6000803e3d6000fd5b505050505050505050505050565b60008281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01602052604081208054600080516020613d2583398151915292849291612c089084906135f0565b9091555050505050565b6000600080516020613d05833981519152612060565b61043e828260405180602001604052806000815250612e20565b60606104547f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01612ea0565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120805460609291839182917f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0091612ccf90613620565b80601f0160208091040260200160405190810160405280929190818152602001828054612cfb90613620565b8015612d485780601f10612d1d57610100808354040283529160200191612d48565b820191906000526020600020905b815481529060010190602001808311612d2b57829003601f168201915b50505060008981526003850160205260409020600181015493985060ff9093169650612d7a926002019150612ead9050565b9250612d8586612f8a565b9150509193509193565b612dbc6040518060600160405280606081526020016000815260200160006001600160a01b031681525090565b50805160208083019190912060009081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e900802825260409081902081516060810183529384528054928401929092526001909101546001600160a01b03169082015290565b612e2a8383613067565b6001600160a01b0383163b15611c7d57600080516020613d05833981519152548281035b612e6160008683806001019450866131bd565b612e7e576040516368d2bf6b60e11b815260040160405180910390fd5b818110612e4e5781600080516020613d0583398151915254146106b357600080fd5b60606000611f6b836132a5565b606081600001805480602002602001604051908101604052809291908181526020016000905b82821015612f7f578382906000526020600020018054612ef290613620565b80601f0160208091040260200160405190810160405280929190818152602001828054612f1e90613620565b8015612f6b5780601f10612f4057610100808354040283529160200191612f6b565b820191906000526020600020905b815481529060010190602001808311612f4e57829003601f168201915b505050505081526020019060010190612ed3565b505050509050919050565b60008181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd0360205260408120606091600490910190612fc982613301565b90506000816001600160401b03811115612fe557612fe56133f8565b60405190808252806020026020018201604052801561300e578160200160208202803683370190505b50905060005b8281101561305e576000613028858361330b565b90508083838151811061303d5761303d6138a5565b6001600160a01b039092166020928302919091019091015250600101613014565b50949350505050565b600080516020613d058339815191525460008290036130995760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461318657808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460010161314e565b50816000036131a757604051622e076360e81b815260040160405180910390fd5b600080516020613d058339815191525550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a02906131f2903390899088908890600401613cb6565b6020604051808303816000875af192505050801561322d575060408051601f3d908101601f1916820190925261322a91810190613ce9565b60015b61328b573d80801561325b576040519150601f19603f3d011682016040523d82523d6000602084013e613260565b606091505b508051600003613283576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611510565b6060816000018054806020026020016040519081016040528092919081815260200182805480156132f557602002820191906000526020600020905b8154815260200190600101908083116132e1575b50505050509050919050565b600061052d825490565b6000611f6b83836000826000018281548110613329576133296138a5565b9060005260206000200154905092915050565b6000806020838503121561334f57600080fd5b82356001600160401b038082111561336657600080fd5b818501915085601f83011261337a57600080fd5b81358181111561338957600080fd5b86602082850101111561339b57600080fd5b60209290920196919550909350505050565b6000602082840312156133bf57600080fd5b5035919050565b6001600160a01b03811681146108c657600080fd5b6000602082840312156133ed57600080fd5b8135611f6b816133c6565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715613430576134306133f8565b60405290565b604051601f8201601f191681016001600160401b038111828210171561345e5761345e6133f8565b604052919050565b60006001600160401b0382111561347f5761347f6133f8565b50601f01601f191660200190565b600080604083850312156134a057600080fd5b82356134ab816133c6565b91506020838101356001600160401b03808211156134c857600080fd5b90850190606082880312156134dc57600080fd5b6134e461340e565b82356134ef816133c6565b8152828401356134fe816133c6565b8185015260408301358281111561351457600080fd5b80840193505087601f84011261352957600080fd5b8235915061353e61353983613466565b613436565b828152888584860101111561355257600080fd5b8285850186830137600085848301015280604083015250809450505050509250929050565b60005b8381101561359257818101518382015260200161357a565b50506000910152565b600081518084526135b3816020860160208601613577565b601f01601f19169290920160200192915050565b602081526000611f6b602083018461359b565b634e487b7160e01b600052601160045260246000fd5b8181038181111561052d5761052d6135da565b60006020828403121561361557600080fd5b8151611f6b816133c6565b600181811c9082168061363457607f821691505b602082108103611e1357634e487b7160e01b600052602260045260246000fd5b601f821115611c7d576000816000526020600020601f850160051c8101602086101561367d5750805b601f850160051c820191505b8181101561137157828155600101613689565b81516001600160401b038111156136b5576136b56133f8565b6136c9816136c38454613620565b84613654565b602080601f8311600181146136fe57600084156136e65750858301515b600019600386901b1c1916600185901b178555611371565b600085815260208120601f198616915b8281101561372d5788860151825594840194600190910190840161370e565b508582101561374b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006020828403121561376d57600080fd5b5051919050565b60208152600060018060a01b03808451166020840152806020850151166040840152506040830151606080840152611510608084018261359b565b6000602082840312156137c157600080fd5b81516001600160401b0381168114611f6b57600080fd5b8082018082111561052d5761052d6135da565b6001600160401b0381811683821601908082111561190c5761190c6135da565b60006020828403121561381d57600080fd5b815161ffff81168114611f6b57600080fd5b8051801515811461383f57600080fd5b919050565b60006020828403121561385657600080fd5b611f6b8261382f565b6001600160e01b0319851681526001600160a01b0384811660208301528316604082015260806060820181905260009061389b9083018461359b565b9695505050505050565b634e487b7160e01b600052603260045260246000fd5b600082516138cd818460208701613577565b9190910192915050565b80516020808301519190811015611e135760001960209190910360031b1b16919050565b60006060820185835260206060602085015281865180845260808601915060208801935060005b818110156139475784516001600160a01b031683529383019391830191600101613922565b5050809350505050826040830152949350505050565b80516001600160e01b03198116811461383f57600080fd5b600061398361353984613466565b905082815283838301111561399757600080fd5b611f6b836020830184613577565b600080600080608085870312156139bb57600080fd5b6139c48561395d565b935060208501516139d4816133c6565b60408601519093506139e5816133c6565b60608601519092506001600160401b03811115613a0157600080fd5b8501601f81018713613a1257600080fd5b613a2187825160208401613975565b91505092959194509250565b600060208284031215613a3f57600080fd5b81516001600160401b0380821115613a5657600080fd5b9083019060608286031215613a6a57600080fd5b613a7261340e565b8251613a7d816133c6565b81526020830151613a8d816133c6565b6020820152604083015182811115613aa457600080fd5b80840193505085601f840112613ab957600080fd5b613ac886845160208601613975565b604082015295945050505050565b808202811582820484141761052d5761052d6135da565b600082613b0a57634e487b7160e01b600052601260045260246000fd5b500490565b600060018201613b2157613b216135da565b5060010190565b60006020808385031215613b3b57600080fd5b82516001600160401b0380821115613b5257600080fd5b818501915085601f830112613b6657600080fd5b815181811115613b7857613b786133f8565b8060051b9150613b89848301613436565b8181529183018401918481019088841115613ba357600080fd5b938501935b83851015613bcd5784519250613bbd836133c6565b8282529385019390850190613ba8565b98975050505050505050565b60018060a01b038516815283602082015282604082015260806060820152600061389b608083018461359b565b600060808284031215613c1857600080fd5b604051608081018181106001600160401b0382111715613c3a57613c3a6133f8565b6040528251613c48816133c6565b81526020830151613c58816133c6565b602082015260408381015190820152613c736060840161382f565b60608201529392505050565b600060038410613c9f57634e487b7160e01b600052602160045260246000fd5b83825260406020830152611510604083018461359b565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061389b9083018461359b565b600060208284031215613cfb5760