[ { "inputs": [], "name": "AlreadyDisabled", "type": "error" }, { "inputs": [], "name": "AlreadyEnabled", "type": "error" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "inputs": [], "name": "GuardianEnabled", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "version", "type": "uint32" } ], "name": "Initializable_AlreadyInitialized", "type": "error" }, { "inputs": [], "name": "Initializable_InInitializingState", "type": "error" }, { "inputs": [], "name": "Initializable_NotInInitializingState", "type": "error" }, { "inputs": [], "name": "Introspection_AlreadySupported", "type": "error" }, { "inputs": [], "name": "Introspection_NotSupported", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "NotExternalAccount", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "Ownable__NotOwner", "type": "error" }, { "inputs": [], "name": "Ownable__ZeroAddress", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [ { "internalType": "uint8", "name": "bits", "type": "uint8" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "SafeCastOverflowedUintDowncast", "type": "error" }, { "inputs": [], "name": "SpaceOwner__DefaultUriNotSet", "type": "error" }, { "inputs": [], "name": "SpaceOwner__OnlyFactoryAllowed", "type": "error" }, { "inputs": [], "name": "SpaceOwner__OnlySpaceOwnerAllowed", "type": "error" }, { "inputs": [], "name": "SpaceOwner__SpaceNotFound", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "Validator__InvalidAddress", "type": "error" }, { "inputs": [], "name": "Validator__InvalidStringLength", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "caller", "type": "address" }, { "indexed": true, "internalType": "bool", "name": "enabled", "type": "bool" }, { "indexed": false, "internalType": "uint256", "name": "cooldown", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "timestamp", "type": "uint256" } ], "name": "GuardianUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint32", "name": "version", "type": "uint32" } ], "name": "Initialized", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "InterfaceAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "InterfaceRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "uri", "type": "string" } ], "name": "SpaceOwner__SetDefaultUri", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "factory", "type": "address" } ], "name": "SpaceOwner__SetFactory", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "space", "type": "address" } ], "name": "SpaceOwner__UpdateSpace", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "name": "__ERC721A_init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" } ], "name": "__SpaceOwner_init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "clock", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getDefaultUri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getFactory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "space", "type": "address" } ], "name": "getSpaceInfo", "outputs": [ { "components": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "createdAt", "type": "uint256" }, { "internalType": "string", "name": "shortDescription", "type": "string" }, { "internalType": "string", "name": "longDescription", "type": "string" } ], "internalType": "struct ISpaceOwnerBase.Space", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "address", "name": "space", "type": "address" }, { "internalType": "string", "name": "shortDescription", "type": "string" }, { "internalType": "string", "name": "longDescription", "type": "string" } ], "name": "mintSpace", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nextTokenId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "uri", "type": "string" } ], "name": "setDefaultUri", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "factory", "type": "address" } ], "name": "setFactory", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "space", "type": "address" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "uri", "type": "string" }, { "internalType": "string", "name": "shortDescription", "type": "string" }, { "internalType": "string", "name": "longDescription", "type": "string" } ], "name": "updateSpaceInfo", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b506200001c62000022565b620000ca565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156200006f576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff9081161015620000c757805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b613af980620000da6000396000f3fe6080604052600436106101f95760003560e01c806375794a3c1161010d5780639ab24eb0116100a0578063c87b56dd1161006f578063c87b56dd1461057c578063d2f01f191461059c578063d6536540146105bc578063d7a901d3146105d1578063e985e9c5146105f157600080fd5b80639ab24eb014610509578063a22cb46514610529578063b88d4fde14610549578063c3cda5201461055c57600080fd5b806388cc58e4116100dc57806388cc58e4146104935780638e539e8c146104a857806391ddadf4146104c857806395d89b41146104f457600080fd5b806375794a3c146104165780637ecebe001461042b578063848806141461044b57806384b0196e1461046b57600080fd5b806342842e0e116101905780635bb478081161015f5780635bb47808146103695780635c19a95c146103895780636352211e146103a95780636a9a38e6146103c957806370a08231146103f657600080fd5b806342842e0e14610301578063466a18de146103145780634bf5d7e914610334578063587cde1e1461034957600080fd5b806323b872dd116101cc57806323b872dd146102995780633644e515146102ac5780633a46b1a8146102c15780633bf5b8f4146102e157600080fd5b806306fdde03146101fe578063081812fc14610229578063095ea7b31461026157806318160ddd14610276575b600080fd5b34801561020a57600080fd5b50610213610621565b604051610220919061316d565b60405180910390f35b34801561023557600080fd5b50610249610244366004613180565b6106bc565b6040516001600160a01b039091168152602001610220565b61027461026f3660046131b5565b6106cd565b005b34801561028257600080fd5b5061028b610715565b604051908152602001610220565b6102746102a73660046131df565b610724565b3480156102b857600080fd5b5061028b610934565b3480156102cd57600080fd5b5061028b6102dc3660046131b5565b61093e565b3480156102ed57600080fd5b5061028b6102fc3660046132c7565b610951565b61027461030f3660046131df565b6109bd565b34801561032057600080fd5b5061027461032f366004613385565b6109dd565b34801561034057600080fd5b50610213610a3a565b34801561035557600080fd5b506102496103643660046133ba565b610a44565b34801561037557600080fd5b506102746103843660046133ba565b610a4f565b34801561039557600080fd5b506102746103a43660046133ba565b610aa4565b3480156103b557600080fd5b506102496103c4366004613180565b610aae565b3480156103d557600080fd5b506103e96103e43660046133ba565b610ab9565b60405161022091906133d5565b34801561040257600080fd5b5061028b6104113660046133ba565b610afb565b34801561042257600080fd5b5061028b610b06565b34801561043757600080fd5b5061028b6104463660046133ba565b610b10565b34801561045757600080fd5b50610274610466366004613467565b610b4d565b34801561047757600080fd5b50610480610b6a565b60405161022097969594939291906134d3565b34801561049f57600080fd5b50610249610c2d565b3480156104b457600080fd5b5061028b6104c3366004613180565b610c4e565b3480156104d457600080fd5b506104dd610c59565b60405165ffffffffffff9091168152602001610220565b34801561050057600080fd5b50610213610c63565b34801561051557600080fd5b5061028b6105243660046133ba565b610c7b565b34801561053557600080fd5b5061027461054436600461356c565b610c86565b6102746105573660046135a8565b610cbf565b34801561056857600080fd5b50610274610577366004613624565b610d09565b34801561058857600080fd5b50610213610597366004613180565b610d17565b3480156105a857600080fd5b506102746105b7366004613684565b610d48565b3480156105c857600080fd5b50610213610d9b565b3480156105dd57600080fd5b506102746105ec3660046136e8565b610da5565b3480156105fd57600080fd5b5061061161060c366004613770565b610ea1565b6040519015158152602001610220565b606061062b610ead565b6002018054610639906137a3565b80601f0160208091040260200160405190810160405280929190818152602001828054610665906137a3565b80156106b25780601f10610687576101008083540402835291602001916106b2565b820191906000526020600020905b81548152906001019060200180831161069557829003601f168201915b5050505050905090565b60006106c782610ed1565b92915050565b6001600160a01b038216158015906106e957506106e933610f1e565b1561070757604051638043dfaf60e01b815260040160405180910390fd5b6107118282610f9a565b5050565b600061071f610fa6565b905090565b600061072f82610fc5565b9050836001600160a01b0316816001600160a01b0316146107625760405162a1148160e81b815260040160405180910390fd5b60008061076e84611060565b91509150610793818761077e3390565b6001600160a01b039081169116811491141790565b6107be576107a18633610ea1565b6107be57604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b0385166107e557604051633a954ecd60e21b815260040160405180910390fd5b6107f28686866001611088565b80156107fd57600082555b610805610ead565b6001600160a01b0387166000908152600591909101602052604090208054600019019055610831610ead565b6001600160a01b03861660008181526005929092016020526040909120805460010190554260a01b17600160e11b17610868610ead565b60008681526004919091016020526040812091909155600160e11b841690036108de5760018401610897610ead565b6000828152600491909101602052604081205490036108dc576108b8610ead565b5481146108dc57836108c8610ead565b600083815260049190910160205260409020555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461092c86868660016110c7565b505050505050565b600061071f6110d2565b600061094a83836110dc565b9392505050565b600080600080516020613a9983398151915280549091506001600160a01b031633146109905760405163443e750b60e11b815260040160405180910390fd5b61099861117a565b91506109a887878488888861118a565b6109b33360016112e1565b5095945050505050565b6109d883838360405180602001604052806000815250610cbf565b505050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a2e576040516365f4906560e01b81523360048201526024015b60405180910390fd5b610a3781611431565b50565b606061071f6114a2565b60006106c78261153a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae300546001600160a01b03163314610a9b576040516365f4906560e01b8152336004820152602401610a25565b610a3781611577565b610a3733826115e1565b60006106c782610fc5565b610af26040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6106c78261167b565b60006106c782611986565b600061071f61117a565b6001600160a01b03811660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c0060205260408120546106c7565b610b56856119ef565b610b638585858585611a2c565b5050505050565b600060608082808083600080516020613ab983398151915254158015610baf57507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d54155b610bf35760405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606401610a25565b610bfb611b17565b610c03611b2d565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b600061071f600080516020613a99833981519152546001600160a01b031690565b60006106c782611b43565b600061071f611bdc565b6060610c6d610ead565b6003018054610639906137a3565b60006106c782611be7565b808015610c975750610c9733610f1e565b15610cb557604051638043dfaf60e01b815260040160405180910390fd5b6107118282611c15565b610cca848484610724565b6001600160a01b0383163b15610d0357610ce684848484611c92565b610d03576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b61092c868686868686611d7e565b6060610d2282611e67565b610d3f57604051630a14c4b560e41b815260040160405180910390fd5b6106c782611ea3565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff16610d9157604051630ef4733760e31b815260040160405180910390fd5b610711828261211c565b606061071f612146565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054600160201b900460ff161580610de157303b1515610df0565b8154600163ffffffff90911610155b15610e19578154604051630a8ef77f60e31b815263ffffffff9091166004820152602401610a25565b815463ffffffff191660011782558015610e4057815464ff000000001916600160201b1782555b610e4a858561211c565b610e548584612165565b8015610b6357815464ff0000000019168255604051600181527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15050505050565b600061094a83836121b8565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0090565b6000610edc82611e67565b610ef9576040516333d1c03960e21b815260040160405180910390fd5b610f01610ead565b60009283526006016020525060409020546001600160a01b031690565b60007f0c89d3aad1b583c77a2e9f9fffa651b386c9c29e300bf2a8e2f3de1bb0100a006001600160a01b0383163b15801561094a57506001600160a01b0383166000908152600182016020526040902054158061094a57506001600160a01b038316600090815260018201602052604090205442109392505050565b610711828260016121f5565b600080610fb1610ead565b60010154610fbd610ead565b540303919050565b600080610fd0610ead565b60008481526004820160205260408120549350909150600160e01b831690036110465781600003611040578054831061101c57604051636f96cda160e11b815260040160405180910390fd5b5b60001990920160008181526004840160205260409020549092909150811561101d575b50919050565b50604051636f96cda160e11b815260040160405180910390fd5b600080600061106d610ead565b60009485526006016020525050604090912080549092909150565b6001600160a01b038416158015906110a457506110a484610f1e565b156110c257604051638043dfaf60e01b815260040160405180910390fd5b610d03565b6110c28484836122aa565b600061071f61234c565b60006110e6611bdc565b65ffffffffffff1682106111335760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b61116a61113f836123c0565b6001600160a01b0385166000908152600080516020613ad983398151915260205260409020906123f5565b6001600160e01b03169392505050565b6000611184610ead565b54919050565b6111958660026124a9565b6111a08560006124a9565b6111a9836124cd565b60008481527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020908152604080832080546001600160a01b0319166001600160a01b03881690811790915581516080810183528a81528084018a90528083018990524260608201529084527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477029092529091208151600080516020613a99833981519152929190819061125c908261381f565b5060208201516001820190611271908261381f565b5060408281015160028301556060909201516003918201558151808301835285815260208082018690526001600160a01b03881660009081529285019052919020815181906112c0908261381f565b50602082015160018201906112d5908261381f565b50505050505050505050565b60006112eb610ead565b54905060008290036113105760405163b562e8dd60e01b815260040160405180910390fd5b61131d6000848385611088565b680100000000000000018202611331610ead565b6001600160a01b038516600081815260059290920160205260409091208054929092019091554260a01b6001841460e11b171761136c610ead565b600083815260049190910160205260408120919091556001600160a01b0384169083830190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146113f657808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a46001016113be565b508160000361141757604051622e076360e81b815260040160405180910390fd5b80611420610ead565b55506109d8905060008483856110c7565b61143c8160016124a9565b7f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747704611467828261381f565b507f8fe3adc25723aa6a0b7eb4b4bacf52e92165c180bde5353f7cf606fbf5591f2b81604051611497919061316d565b60405180910390a150565b6060436114ad611bdc565b65ffffffffffff16146115025760405162461bcd60e51b815260206004820152601860248201527f566f7465733a2062726f6b656e20636c6f636b206d6f646500000000000000006044820152606401610a25565b5060408051808201909152601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b6001600160a01b0390811660009081527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f6560205260409020541690565b611580816124cd565b600080516020613a9983398151915280546001600160a01b0383166001600160a01b03199091168117825560408051918252517f64c14256e532eac2ec90ddc4973ed2d3f5623faf7951d90eec38f9b7812f99a79181900360200190a15050565b60006115ec8361153a565b6001600160a01b0384811660008181527f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f65602052604080822080546001600160a01b031916888616908117909155905194955093928516927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46109d88183611676866124f4565b6124ff565b6116b46040518060c001604052806060815260200160608152602001600081526020016000815260200160608152602001606081525090565b6001600160a01b03821660009081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe5747702602090815260408083207f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770390925291829020825160c0810190935281549192909181908490611732906137a3565b80601f016020809104026020016040519081016040528092919081815260200182805461175e906137a3565b80156117ab5780601f10611780576101008083540402835291602001916117ab565b820191906000526020600020905b81548152906001019060200180831161178e57829003601f168201915b505050505081526020018360010180546117c4906137a3565b80601f01602080910402602001604051908101604052809291908181526020018280546117f0906137a3565b801561183d5780601f106118125761010080835404028352916020019161183d565b820191906000526020600020905b81548152906001019060200180831161182057829003601f168201915b50505050508152602001836002015481526020018360030154815260200182600001805461186a906137a3565b80601f0160208091040260200160405190810160405280929190818152602001828054611896906137a3565b80156118e35780601f106118b8576101008083540402835291602001916118e3565b820191906000526020600020905b8154815290600101906020018083116118c657829003601f168201915b505050505081526020018260010180546118fc906137a3565b80601f0160208091040260200160405190810160405280929190818152602001828054611928906137a3565b80156119755780601f1061194a57610100808354040283529160200191611975565b820191906000526020600020905b81548152906001019060200180831161195857829003601f168201915b505050505081525092505050919050565b60006001600160a01b0382166119af576040516323d3ad8160e21b815260040160405180910390fd5b67ffffffffffffffff6119c0610ead565b6005016000846001600160a01b03166001600160a01b0316815260200190815260200160002054169050919050565b33611a056119fc8361167b565b60400151610aae565b6001600160a01b031614610a375760405163dbfcf17d60e01b815260040160405180910390fd5b611a378460026124a9565b611a428360016124a9565b6001600160a01b03851660009081527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe574770260205260409020600080516020613a998339815191529080611a94878261381f565b5060018101611aa3868261381f565b506001600160a01b0387166000908152600383016020526040902080611ac9868261381f565b5060018101611ad8858261381f565b506040516001600160a01b038916907f66da702131703ee5e745ecf2f5b98311caa00729edd55541baad49289fc42ed890600090a25050505050505050565b6060600080516020613ab983398151915261062b565b6060600080516020613ab9833981519152610c6d565b6000611b4d611bdc565b65ffffffffffff168210611b9a5760405162461bcd60e51b81526020600482015260146024820152730566f7465733a20667574757265206c6f6f6b75760641b6044820152606401610a25565b611bcd611ba6836123c0565b7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67906123f5565b6001600160e01b031692915050565b600061071f43612680565b6001600160a01b0381166000908152600080516020613ad983398151915260205260408120611bcd906126b3565b80611c1e610ead565b336000818152600792909201602090815260408084206001600160a01b03881680865290835293819020805460ff19169515159590951790945592518415158152919290917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290611cc79033908990889088906004016138df565b6020604051808303816000875af1925050508015611d02575060408051601f3d908101601f19168201909252611cff9181019061391c565b60015b611d60573d808015611d30576040519150601f19603f3d011682016040523d82523d6000602084013e611d35565b606091505b508051600003611d58576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490505b949350505050565b83421115611dce5760405162461bcd60e51b815260206004820152601860248201527f566f7465733a207369676e6174757265206578706972656400000000000000006044820152606401610a25565b604080517fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60208201526001600160a01b038816918101919091526060810186905260808101859052600090611e4890611e409060a001604051602081830303815290604052805190602001206126ec565b858585612719565b9050611e548187612747565b611e5e81886115e1565b50505050505050565b6000611e71610ead565b54821080156106c75750600160e01b611e88610ead565b60008481526004919091016020526040902054161592915050565b60008181527f7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477016020526040902054606090600080516020613a99833981519152906001600160a01b031680611f0b5760405163af5f208f60e01b815260040160405180910390fd5b6001600160a01b03811660009081526002830160205260409020600181018054611f34906137a3565b159050611fd257806001018054611f4a906137a3565b80601f0160208091040260200160405190810160405280929190818152602001828054611f76906137a3565b8015611fc35780601f10611f9857610100808354040283529160200191611fc3565b820191906000526020600020905b815481529060010190602001808311611fa657829003601f168201915b50505050509350505050919050565b6000836004018054611fe3906137a3565b80601f016020809104026020016040519081016040528092919081815260200182805461200f906137a3565b801561205c5780601f106120315761010080835404028352916020019161205c565b820191906000526020600020905b81548152906001019060200180831161203f57829003601f168201915b505050505090506000815190508060000361208a5760405163cd251ac560e01b815260040160405180910390fd5b81600182038151811061209f5761209f613946565b6020910101516001600160f81b031916602f60f81b146120f857816120cc856001600160a01b03166127b9565b6040516020016120dd92919061395c565b60405160208183030381529060405295505050505050919050565b8161210b856001600160a01b03166127b9565b6040516020016120dd929190613998565b61212c6380ac58cd60e01b612862565b61213c635b5e139f60e01b612862565b610711828261293b565b6060600080516020613a998339815191526004018054610639906137a3565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054600160201b900460ff166121ae57604051630ef4733760e31b815260040160405180910390fd5b610711828261296d565b60006121c2610ead565b6001600160a01b039384166000908152600791909101602090815260408083209490951682529290925250205460ff1690565b600061220083610aae565b9050811561223f57336001600160a01b0382161461223f5761222281336121b8565b61223f576040516367d9dca160e11b815260040160405180910390fd5b83612248610ead565b6000858152600691909101602052604080822080546001600160a01b0319166001600160a01b0394851617905551859287811692908516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259190a450505050565b6001600160a01b0383166122f0576122ed7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f676129ff6122e884612a0b565b612a3f565b50505b6001600160a01b0382166123315761232e7f423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f67612a886122e884612a0b565b50505b6109d861233d8461153a565b6123468461153a565b836124ff565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f612377612a94565b61237f612afa565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b600063ffffffff8211156123f1576040516306dfcc6560e41b81526020600482015260248101839052604401610a25565b5090565b81546000908181600581111561245257600061241084612b4a565b61241a90856139dd565b60008881526020902090915081015463ffffffff908116908716101561244257809150612450565b61244d8160016139f0565b92505b505b600061246087878585612c32565b9050801561249b57612485876124776001846139dd565b600091825260209091200190565b54600160201b90046001600160e01b031661249e565b60005b979650505050505050565b815182908211156109d8576040516374eb20a760e01b815260040160405180910390fd5b6001600160a01b038116610a37576040516302e47d1560e41b815260040160405180910390fd5b60006106c782610afb565b816001600160a01b0316836001600160a01b0316141580156125215750600081115b156109d8576001600160a01b038316156125d1576001600160a01b0383166000908152600080516020613ad983398151915260205260408120819061256c90612a886122e886612a0b565b6001600160e01b031691506001600160e01b03169150846001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516125c6929190918252602082015260400190565b60405180910390a250505b6001600160a01b038216156109d8576001600160a01b0382166000908152600080516020613ad9833981519152602052604081208190612617906129ff6122e886612a0b565b6001600160e01b031691506001600160e01b03169150836001600160a01b03167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612671929190918252602082015260400190565b60405180910390a25050505050565b600065ffffffffffff8211156123f1576040516306dfcc6560e41b81526030600482015260248101839052604401610a25565b805460009080156126e3576126cd836124776001846139dd565b54600160201b90046001600160e01b031661094a565b60009392505050565b60006106c76126f96110d2565b8360405161190160f01b8152600281019290925260228201526042902090565b60008060008061272b88888888612c90565b92509250925061273b8282612d5f565b50909695505050505050565b6001600160a01b03821660009081527fda5d6d87446d81938877f0ee239dac391146dd7466ea30567f72becf06773c00602052604090208054600181019091558181146109d8576040516301d4b62360e61b81526001600160a01b038416600482015260248101829052604401610a25565b60606127c482612e18565b6028602282019081209192507f4040404040404040404040404040404040404040404040404040404040404040917f888888888888888888888888888888888888888888888888888888888888888016601160f31b60005b82811a82028180015260018101906012190161281c57505050818151166000511660011c8151188152602081019050818151166020511660011c81511881525050919050565b6001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166128ea576001600160e01b0319811660009081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b0060205260409020805460ff19166001179055612903565b604051637967f77d60e11b815260040160405180910390fd5b6040516001600160e01b03198216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f2290600090a250565b6000612945610ead565b905060028101612955848261381f565b5060038101612964838261381f565b50600090555050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336e612998838261381f565b507f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336f6129c4828261381f565b50506000600080516020613ab98339815191528190557f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d5550565b600061094a8284613a03565b60006001600160e01b038211156123f1576040516306dfcc6560e41b815260e0600482015260248101839052604401610a25565b600080612a7b612a5d612a50611bdc565b65ffffffffffff166123c0565b612a73612a69886126b3565b868863ffffffff16565b879190612e3c565b915091505b935093915050565b600061094a8284613a2a565b600080612a9f611b17565b805190915015612ab6578051602090910120919050565b600080516020613ab9833981519152548015612ad25792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080612b05611b2d565b805190915015612b1c578051602090910120919050565b7f3a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336d548015612ad25792915050565b600081600003612b5c57506000919050565b60006001612b6984612e4a565b901c6001901b90506001818481612b8257612b82613a4a565b048201901c90506001818481612b9a57612b9a613a4a565b048201901c90506001818481612bb257612bb2613a4a565b048201901c90506001818481612bca57612bca613a4a565b048201901c90506001818481612be257612be2613a4a565b048201901c90506001818481612bfa57612bfa613a4a565b048201901c90506001818481612c1257612c12613a4a565b048201901c905061094a81828581612c2c57612c2c613a4a565b04612ede565b60005b81831015612c88576000612c498484612ef4565b60008781526020902090915063ffffffff86169082015463ffffffff161115612c7457809250612c82565b612c7f8160016139f0565b93505b50612c35565b509392505050565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612ccb5750600091506003905082612d55565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612d1f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116612d4b57506000925060019150829050612d55565b9250600091508190505b9450945094915050565b6000826003811115612d7357612d73613a60565b03612d7c575050565b6001826003811115612d9057612d90613a60565b03612dae5760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115612dc257612dc2613a60565b03612de35760405163fce698f760e01b815260048101829052602401610a25565b6003826003811115612df757612df7613a60565b03610711576040516335e2f38360e21b815260048101829052602401610a25565b6060612e2382612f0f565b8051613078825260020160011990910190815292915050565b600080612a7b858585612f7e565b600080608083901c15612e5f57608092831c92015b604083901c15612e7157604092831c92015b602083901c15612e8357602092831c92015b601083901c15612e9557601092831c92015b600883901c15612ea757600892831c92015b600483901c15612eb957600492831c92015b600283901c15612ecb57600292831c92015b600183901c156106c75760010192915050565b6000818310612eed578161094a565b5090919050565b6000612f036002848418613a76565b61094a908484166139f0565b60606040519050608081016040526f30313233343536373839616263646566600f526002810190506028815260208101600060288201528260601b925060005b808101820184821a600f81165160018301538060041c5182535050600181019060121901612f4f575050919050565b8254600090819080156130c4576000612f9c876124776001856139dd565b60408051808201909152905463ffffffff808216808452600160201b9092046001600160e01b03166020840152919250908716101561301d5760405162461bcd60e51b815260206004820152601b60248201527f436865636b706f696e743a2064656372656173696e67206b65797300000000006044820152606401610a25565b805163ffffffff808816911603613065578461303e886124776001866139dd565b80546001600160e01b0392909216600160201b0263ffffffff9092169190911790556130b4565b6040805180820190915263ffffffff80881682526001600160e01b0380881660208085019182528b54600181018d5560008d81529190912094519151909216600160201b029216919091179101555b602001519250839150612a809050565b50506040805180820190915263ffffffff80851682526001600160e01b0380851660208085019182528854600181018a5560008a815291822095519251909316600160201b029190931617920191909155905081612a80565b60005b83811015613138578181015183820152602001613120565b50506000910152565b6000815180845261315981602086016020860161311d565b601f01601f19169290920160200192915050565b60208152600061094a6020830184613141565b60006020828403121561319257600080fd5b5035919050565b80356001600160a01b03811681146131b057600080fd5b919050565b600080604083850312156131c857600080fd5b6131d183613199565b946020939093013593505050565b6000806000606084860312156131f457600080fd5b6131fd84613199565b925061320b60208501613199565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561324c5761324c61321b565b604051601f8501601f19908116603f011681019082821181831017156132745761327461321b565b8160405280935085815286868601111561328d57600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126132b857600080fd5b61094a83833560208501613231565b600080600080600060a086880312156132df57600080fd5b853567ffffffffffffffff808211156132f757600080fd5b61330389838a016132a7565b9650602088013591508082111561331957600080fd5b61332589838a016132a7565b955061333360408901613199565b9450606088013591508082111561334957600080fd5b61335589838a016132a7565b9350608088013591508082111561336b57600080fd5b50613378888289016132a7565b9150509295509295909350565b60006020828403121561339757600080fd5b813567ffffffffffffffff8111156133ae57600080fd5b611d76848285016132a7565b6000602082840312156133cc57600080fd5b61094a82613199565b602081526000825160c060208401526133f160e0840182613141565b90506020840151601f198085840301604086015261340f8383613141565b9250604086015160608601526060860151608086015260808601519150808584030160a08601526134408383613141565b925060a08601519150808584030160c08601525061345e8282613141565b95945050505050565b600080600080600060a0868803121561347f57600080fd5b61348886613199565b9450602086013567ffffffffffffffff808211156134a557600080fd5b6134b189838a016132a7565b955060408801359150808211156134c757600080fd5b61333389838a016132a7565b60ff60f81b881681526000602060e060208401526134f460e084018a613141565b8381036040850152613506818a613141565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561355a5783518352928401929184019160010161353e565b50909c9b505050505050505050505050565b6000806040838503121561357f57600080fd5b61358883613199565b91506020830135801515811461359d57600080fd5b809150509250929050565b600080600080608085870312156135be57600080fd5b6135c785613199565b93506135d560208601613199565b925060408501359150606085013567ffffffffffffffff8111156135f857600080fd5b8501601f8101871361360957600080fd5b61361887823560208401613231565b91505092959194509250565b60008060008060008060c0878903121561363d57600080fd5b61364687613199565b95506020870135945060408701359350606087013560ff8116811461366a57600080fd5b9598949750929560808101359460a0909101359350915050565b6000806040838503121561369757600080fd5b823567ffffffffffffffff808211156136af57600080fd5b6136bb868387016132a7565b935060208501359150808211156136d157600080fd5b506136de858286016132a7565b9150509250929050565b6000806000606084860312156136fd57600080fd5b833567ffffffffffffffff8082111561371557600080fd5b613721878388016132a7565b9450602086013591508082111561373757600080fd5b613743878388016132a7565b9350604086013591508082111561375957600080fd5b50613766868287016132a7565b9150509250925092565b6000806040838503121561378357600080fd5b61378c83613199565b915061379a60208401613199565b90509250929050565b600181811c908216806137b757607f821691505b60208210810361104057634e487b7160e01b600052602260045260246000fd5b601f8211156109d8576000816000526020600020601f850160051c810160208610156138005750805b601f850160051c820191505b8181101561092c5782815560010161380c565b815167ffffffffffffffff8111156138395761383961321b565b61384d8161384784546137a3565b846137d7565b602080601f831160018114613882576000841561386a5750858301515b600019600386901b1c1916600185901b17855561092c565b600085815260208120601f198616915b828110156138b157888601518255948401946001909101908401613892565b50858210156138cf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061391290830184613141565b9695505050505050565b60006020828403121561392e57600080fd5b81516001600160e01b03198116811461094a57600080fd5b634e487b7160e01b600052603260045260246000fd5b6000835161396e81846020880161311d565b602f60f81b908301908152835161398c81600184016020880161311d565b01600101949350505050565b600083516139aa81846020880161311d565b8351908301906139be81836020880161311d565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156106c7576106c76139c7565b808201808211156106c7576106c76139c7565b6001600160e01b03818116838216019080821115613a2357613a236139c7565b5092915050565b6001600160e01b03828116828216039080821115613a2357613a236139c7565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052602160045260246000fd5b600082613a9357634e487b7160e01b600052601260045260246000fd5b50049056fe7fc24c9500f4388b797f8975c0991ad4ffd0338c2cbf5335b2bf5b7fe57477003a497e775dc7c283402f0d3c39c5f0ea53870eb15ab2dddfde5a1162a84c336c423fcc3514229d79a30fb79b40a232f70b3fabdf664a75db0859c67848497f66