0 txs
0 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
contractSealed
viewfunction contractSealed() view returns (bool)
costOfNextPhysical
viewfunction costOfNextPhysical() view returns (uint256)
costToMint
viewfunction costToMint() view returns (uint256)
costToUpdateBioOrAddSelfWorth
viewfunction costToUpdateBioOrAddSelfWorth() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
existsForAddress
viewfunction existsForAddress(address user) view returns (bool)
externalLink
viewfunction externalLink() view returns (bytes)
getAllPhysicalRecipients
viewfunction getAllPhysicalRecipients() view returns (address[])
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getmememe
viewfunction getmememe(address _owner) view returns (bool isNumberOne, string bio, uint64 mintedAt, uint256 selfWorth, string selfWorthString, string tokenImageSVG)
getMymememe
viewfunction getMymememe() view returns (bool isNumberOne, string bio, uint64 mintedAt, uint256 selfWorth, string selfWorthString, string tokenImageSVG)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTopPayermememe
viewfunction getTopPayermememe() view returns (bool isNumberOne, string bio, uint64 mintedAt, uint256 selfWorth, string selfWorthString, string tokenImageSVG)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
initialPhysicalCost
viewfunction initialPhysicalCost() view returns (uint256)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isMintActive
viewfunction isMintActive() view returns (bool)
maxBioLength
viewfunction maxBioLength() view returns (uint256)
maxSupply
viewfunction maxSupply() view returns (uint256)
name
viewfunction name() view returns (string)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
physicalCostThreshold
purefunction physicalCostThreshold(uint256 physicalIndex) pure returns (uint256)
physicalRecipients
viewfunction physicalRecipients(uint256) view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tokenIdToSelfWorthEtherString
viewfunction tokenIdToSelfWorthEtherString(uint256 tokenId) view returns (string)
tokenImage
viewfunction tokenImage(uint256 tokenId) view returns (string)
tokenURI
viewfunction tokenURI(uint256 id) view returns (string)
topPayerAddress
viewfunction topPayerAddress() view returns (address)
topPayerTokenId
viewfunction topPayerTokenId() view returns (uint256)
weiToEtherString
purefunction weiToEtherString(uint256 weiAmount) pure returns (string)
addPhysicalRecipient
nonpayablefunction addPhysicalRecipient(address recipient)
approve
nonpayablefunction approve(address to, uint256 tokenId)
flipMintState
nonpayablefunction flipMintState()
grantAdminRole
nonpayablefunction grantAdminRole(address newAddress)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
mintOrAddSelfWorthOrUpdateBio
payablefunction mintOrAddSelfWorthOrUpdateBio(string optionalBio) payable
removeBio
nonpayablefunction removeBio()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
sealContract
nonpayablefunction sealContract()
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
withdraw
nonpayablefunction withdraw()
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
BioUpdate
event BioUpdate(address indexed user, string oldBio, string newBio, uint256 occurredAt)
NewPhysicalRecipientAdded
event NewPhysicalRecipientAdded(address indexed newRecipient, uint256 occurredAt)
NumberOneChanged
event NumberOneChanged(address indexed oldNumberOne, address indexed newNumberOne, uint256 newNumberOneSelfWorth, uint256 occurredAt)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SelfWorthUpdate
event SelfWorthUpdate(address indexed user, uint256 indexed oldSelfWorth, uint256 indexed newSelfWorth, string currentBio, uint256 occurredAt)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
InvalidCodeAtRange
error InvalidCodeAtRange(uint256 _size, uint256 _start, uint256 _end)
WriteError
error WriteError()
creation bytecode
0x60806040523480156200001157600080fd5b506040805180820182526006808252656d656d656d6560d01b60208084018281528551808701909652928552840152815191929162000053916000916200016b565b508051620000699060019060208401906200016b565b50506001600755506200007e600033620000c6565b6200009f6000735fd2e3ba05c862e62a34b9f63c45c0df622ac112620000c6565b620000c0600073c2172a6315c1d7f6855768f843c420ebb36eda97620000c6565b62000257565b60008281526006602090815260408083206001600160a01b038516845290915290205460ff16620001675760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620001263390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b828054620001799062000227565b90600052602060002090601f0160209004810192826200019d5760008555620001e8565b82601f10620001b857805160ff1916838001178555620001e8565b82800160010185558215620001e8579182015b82811115620001e8578251825591602001919060010190620001cb565b50620001f6929150620001fa565b5090565b5b80821115620001f65760008155600101620001fb565b634e487b7160e01b600052602260045260246000fd5b6002810460018216806200023c57607f821691505b60208210810362000251576200025162000211565b50919050565b613caa80620002676000396000f3fe60806040526004361061028c5760003560e01c80637935ad711161015a578063c87b56dd116100c1578063dc0f13f61161007a578063dc0f13f6146107cb578063e985e9c5146107eb578063ecbeefec14610834578063ed6684241461084f578063f25e99911461086f578063f85a705f1461088f576102ab565b8063c87b56dd1461071d578063cf3484251461073d578063d547741f1461075d578063d5abeb011461077d578063d5b4f7b914610795578063d85269ec146107b5576102ab565b8063a5bc9f3511610113578063a5bc9f3514610663578063ab9767d814610683578063b6501637146106a3578063b88d4fde146106bd578063c32b782a146106dd578063c634b78e146106fd576102ab565b80637935ad71146105c85780637c4909e6146105e457806391d14854146105f957806395d89b4114610619578063a217fddf1461062e578063a22cb46514610643576102ab565b8063317b9294116101fe57806359c74f29116101b757806359c74f291461052a5780635b92ac0d1461053f5780635b9db8981461055e5780636352211e1461057357806368bd580e1461059357806370a08231146105a8576102ab565b8063317b929414610477578063333b6f851461048c57806336568abe146104b35780633ccfd60b146104d357806342842e0e146104e85780634bbc75f114610508576102ab565b806311ab09d01161025057806311ab09d0146103c15780631ef51ebb146103d657806323b872dd146103ec578063248a9ca31461040c57806326052f671461043c5780632f2ff15d14610457576102ab565b806301ffc9a7146102fa57806306fdde0314610330578063081812fc14610352578063095ea7b31461037f5780630a9666941461039f576102ab565b366102ab576102a96040518060200160405280600081525061089d565b005b60003660606102ef83838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061089d92505050565b915050805190602001f35b34801561030657600080fd5b5061031a6103153660046125b5565b610b59565b60405161032791906125e0565b60405180910390f35b34801561033c57600080fd5b50610345610b6a565b604051610327919061264c565b34801561035e57600080fd5b5061037261036d36600461266e565b610bfc565b60405161032791906126a9565b34801561038b57600080fd5b506102a961039a3660046126cb565b610c3f565b3480156103ab57600080fd5b506103b4610cc4565b604051610327919061270e565b3480156103cd57600080fd5b50600a54610372565b3480156103e257600080fd5b506103b4600a5481565b3480156103f857600080fd5b506102a961040736600461271c565b610cd8565b34801561041857600080fd5b506103b461042736600461266e565b60009081526006602052604090206001015490565b34801561044857600080fd5b506103b466038d7ea4c6800081565b34801561046357600080fd5b506102a961047236600461276c565b610d09565b34801561048357600080fd5b506102a9610d2f565b34801561049857600080fd5b506104a1610d74565b604051610327969594939291906127ae565b3480156104bf57600080fd5b506102a96104ce36600461276c565b610d9a565b3480156104df57600080fd5b506102a9610dd0565b3480156104f457600080fd5b506102a961050336600461271c565b610e45565b34801561051457600080fd5b5061051d610e60565b6040516103279190612879565b34801561053657600080fd5b506102a9610ec1565b34801561054b57600080fd5b5060085461031a90610100900460ff1681565b34801561056a57600080fd5b50610345610f0e565b34801561057f57600080fd5b5061037261058e36600461266e565b610f2a565b34801561059f57600080fd5b506102a9610f5f565b3480156105b457600080fd5b506103b46105c336600461288a565b610f9e565b3480156105d457600080fd5b506103b4670214e8348c4f000081565b3480156105f057600080fd5b506104a1610fe2565b34801561060557600080fd5b5061031a61061436600461276c565b610ff8565b34801561062557600080fd5b50610345611023565b34801561063a57600080fd5b506103b4600081565b34801561064f57600080fd5b506102a961065e3660046128be565b611032565b34801561066f57600080fd5b5061037261067e36600461266e565b61103d565b34801561068f57600080fd5b506103b461069e36600461266e565b611067565b3480156106af57600080fd5b5060085461031a9060ff1681565b3480156106c957600080fd5b506102a96106d83660046129e2565b6110ac565b3480156106e957600080fd5b506104a16106f836600461288a565b6110e4565b34801561070957600080fd5b506102a961071836600461288a565b6111b4565b34801561072957600080fd5b5061034561073836600461266e565b6111cb565b34801561074957600080fd5b5061034561075836600461266e565b6111fb565b34801561076957600080fd5b506102a961077836600461276c565b611306565b34801561078957600080fd5b506103b4600160a01b81565b3480156107a157600080fd5b506103456107b036600461266e565b61132c565b3480156107c157600080fd5b506103b461011881565b3480156107d757600080fd5b5061031a6107e636600461288a565b61136e565b3480156107f757600080fd5b5061031a610806366004612a60565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561084057600080fd5b506103b4662386f26fc1000081565b34801561085b57600080fd5b506102a961086a36600461288a565b61138a565b34801561087b57600080fd5b5061034561088a36600461266e565b611420565b6102a961089d366004612a82565b6002600754036108c85760405162461bcd60e51b81526004016108bf90612af3565b60405180910390fd5b60026007553360008181526009602052604090206108e5826114bb565b61099757600854610100900460ff166109105760405162461bcd60e51b81526004016108bf90612b2c565b662386f26fc1000034101561092b662386f26fc100006114d8565b60405160200161093b9190612b5e565b604051602081830303815290604052906109685760405162461bcd60e51b81526004016108bf919061264c565b5061097333836115e0565b805467ffffffffffffffff60a81b1916600160a81b426001600160401b0316021781555b66038d7ea4c680003410156109b266038d7ea4c680006114d8565b6040516020016109c29190612b99565b604051602081830303815290604052906109ef5760405162461bcd60e51b81526004016108bf919061264c565b5060018101546000610a013483612bff565b855190915015610add5761011885511115610a1d6101186114d8565b604051602001610a2d9190612c17565b60405160208183030381529060405290610a5a5760405162461bcd60e51b81526004016108bf919061264c565b50825433907f809e2163a184143651db5bb66335449d3c7f24ce31e94a798f58ff60b4f7c8a290610a989061010090046001600160a01b03166116b3565b8742604051610aa993929190612c49565b60405180910390a2610aba856116c3565b83546001600160a01b039190911661010002610100600160a81b03199091161783555b808214610b4d5760018301819055610af433611728565b82548190839033907f9404ff2be9b7368c82b8d74c988ace23e7d4c94f8b9be313a69009a3c7678f4f90610b359061010090046001600160a01b03166116b3565b42604051610b44929190612c7d565b60405180910390a45b50506001600755505050565b6000610b64826117c7565b92915050565b606060008054610b7990612cb3565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba590612cb3565b8015610bf25780601f10610bc757610100808354040283529160200191610bf2565b820191906000526020600020905b815481529060010190602001808311610bd557829003601f168201915b5050505050905090565b6000610c07826114bb565b610c235760405162461bcd60e51b81526004016108bf90612d25565b506000908152600460205260409020546001600160a01b031690565b6000610c4a82610f2a565b9050806001600160a01b0316836001600160a01b031603610c7d5760405162461bcd60e51b81526004016108bf90612d73565b336001600160a01b0382161480610c995750610c998133610806565b610cb55760405162461bcd60e51b81526004016108bf90612ddd565b610cbf83836117ec565b505050565b600b54600090610cd390611067565b905090565b610ce2338261185a565b610cfe5760405162461bcd60e51b81526004016108bf90612e3b565b610cbf8383836118fb565b600082815260066020526040902060010154610d258133611913565b610cbf8383611977565b33610d39816114bb565b610d555760405162461bcd60e51b81526004016108bf90612e77565b60009081526009602052604090208054610100600160a81b0319169055565b60006060600080606080610d87336110e4565b949b939a50919850965094509092509050565b6001600160a01b0381163314610dc25760405162461bcd60e51b81526004016108bf90612ed3565b610dcc82826119fd565b5050565b60004711610df05760405162461bcd60e51b81526004016108bf90612f0d565b476000610dfe600283612f33565b9050610e1e73c2172a6315c1d7f6855768f843c420ebb36eda9782611a64565b610dcc735fd2e3ba05c862e62a34b9f63c45c0df622ac112610e408385612f47565b611a64565b610cbf838383604051806020016040528060008152506110ac565b6060600b805480602002602001604051908101604052809291908181526020018280548015610bf257602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e9a575050505050905090565b6000610ecd8133611913565b60085460ff1615610ef05760405162461bcd60e51b81526004016108bf90612f85565b506008805461ff001981166101009182900460ff1615909102179055565b604051806060016040528060288152602001613c4d6028913981565b6000818152600260205260408120546001600160a01b031680610b645760405162461bcd60e51b81526004016108bf90612fdb565b6000610f6b8133611913565b60085460ff1615610f8e5760405162461bcd60e51b81526004016108bf90612f85565b506008805460ff19166001179055565b60006001600160a01b038216610fc65760405162461bcd60e51b81526004016108bf90613032565b506001600160a01b031660009081526003602052604090205490565b60006060600080606080610d876106f8600a5490565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b606060018054610b7990612cb3565b610dcc338383611b00565b600b818154811061104d57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000670214e8348c4f0000815b838110156110a5576064611089836096613042565b6110939190612f33565b915061109e81613061565b9050611074565b5092915050565b6110b6338361185a565b6110d25760405162461bcd60e51b81526004016108bf90612e3b565b6110de84848484611ba2565b50505050565b60006060818082806001600160a01b0387166110ff816114bb565b61111b5760405162461bcd60e51b81526004016108bf90612e77565b6000818152600960209081526040918290208251608081018452815460ff8116151580835261010082046001600160a01b0316948301859052600160a81b9091046001600160401b03169482019490945260019091015460608201529190611182906116b3565b6040830151606084015161119581611420565b61119e876111fb565b949e939d50919b50995097509095509350505050565b60006111c08133611913565b610dcc600083611977565b60606111d6826114bb565b6111f25760405162461bcd60e51b81526004016108bf90612e77565b610b6482611bd5565b6060611206826114bb565b6112225760405162461bcd60e51b81526004016108bf90612e77565b60408051620100608101909152620100408152600060209091018181529061124984611d8f565b905061126e6040518060a0016040528060808152602001613b8d608091398390611e52565b60005b81518110156112dd576000611285826114d8565b8383815181106112975761129761307b565b60200260200101516040516020016112b09291906130a4565b60408051601f1981840301815291905290506112cc8482611e52565b506112d681613061565b9050611271565b506040805180820190915260068152651e17b9bb339f60d11b60208201526110a5908390611e52565b6000828152600660205260409020600101546113228133611913565b610cbf83836119fd565b6060611337826114bb565b6113535760405162461bcd60e51b81526004016108bf90612e77565b600082815260096020526040902060010154610b6490611420565b60006001600160a01b038216611383816114bb565b9392505050565b60006113968133611913565b600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90180546001600160a01b0319166001600160a01b0384169081179091556040517f13bad82625316b2e6ac0ab14ad25ebe3b2dd090775c985e89014b5c98bb1d4b19061141490429061270e565b60405180910390a25050565b6060600061143e611439670de0b6b3a764000085612f33565b6114d8565b905060006114626064611458662386f26fc1000087612f33565b6114399190613105565b90508051600103611490578060405160200161147e9190613119565b60405160208183030381529060405290505b81816040516020016114a392919061312f565b60405160208183030381529060405292505050919050565b6000908152600260205260409020546001600160a01b0316151590565b6060816000036114ff5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611529578061151381613061565b91506115229050600a83612f33565b9150611503565b6000816001600160401b03811115611543576115436128f1565b6040519080825280601f01601f19166020018201604052801561156d576020820181803683370190505b5090505b84156115d857611582600183612f47565b915061158f600a86613105565b61159a906030612bff565b60f81b8183815181106115af576115af61307b565b60200101906001600160f81b031916908160001a9053506115d1600a86612f33565b9450611571565b949350505050565b6001600160a01b0382166116065760405162461bcd60e51b81526004016108bf90613183565b61160f816114bb565b1561162c5760405162461bcd60e51b81526004016108bf906131c7565b6001600160a01b0382166000908152600360205260408120805460019290611655908490612bff565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6060610b64826001600019611e97565b6000806116ee836040516020016116da91906131e1565b604051602081830303815290604052611f41565b90508051602082016000f091506001600160a01b0382166117225760405163046a55db60e11b815260040160405180910390fd5b50919050565b6001600160a01b038116600081815260096020526040808220600a54835291206001808201549083015411156110de57836001600160a01b0316600a546001600160a01b03167f9a475ad5623a88791bc20af1081b590749094bc9b3f7dca351f454255875c5b98460010154426040516117a39291906131f8565b60405180910390a3600a929092558054600160ff1991821617909155815416905550565b60006001600160e01b03198216637965db0b60e01b1480610b645750610b6482611f6d565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061182182610f2a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611865826114bb565b6118815760405162461bcd60e51b81526004016108bf9061325c565b600061188c83610f2a565b9050806001600160a01b0316846001600160a01b031614806118c75750836001600160a01b03166118bc84610bfc565b6001600160a01b0316145b806115d857506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff166115d8565b60405162461bcd60e51b81526004016108bf906132a0565b61191d8282610ff8565b610dcc57611935816001600160a01b03166014611fbd565b611940836020611fbd565b6040516020016119519291906132fe565b60408051601f198184030181529082905262461bcd60e51b82526108bf9160040161264c565b6119818282610ff8565b610dcc5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790556119b93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b611a078282610ff8565b15610dcc5760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b80471015611a845760405162461bcd60e51b81526004016108bf90613360565b6000826001600160a01b031682604051611a9d90613370565b60006040518083038185875af1925050503d8060008114611ada576040519150601f19603f3d011682016040523d82523d6000602084013e611adf565b606091505b5050905080610cbf5760405162461bcd60e51b81526004016108bf906133d2565b816001600160a01b0316836001600160a01b031603611b315760405162461bcd60e51b81526004016108bf90613416565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3190611b959085906125e0565b60405180910390a3505050565b611bad8484846118fb565b611bb984848484612128565b6110de5760405162461bcd60e51b81526004016108bf90613475565b60008181526009602090815260408083208151608081018352815460ff81161515825261010081046001600160a01b031694820194909452600160a81b9093046001600160401b0316918301919091526001015460608083019190915291611c3c846111fb565b90506000611c4d83602001516116b3565b51905060008360000151611c7b57604051806040016040528060028152602001614e6f60f01b815250611c98565b6040518060400160405280600381526020016259657360e81b8152505b90506000611cb06001600160a01b0388166014611fbd565b604051602001611cc09190613485565b60408051601f198184030181529190529050611d64611ce96001600160a01b0389166014611fbd565b82611cf387612229565b604051806060016040528060288152602001613c4d6028913986611d1a8b60600151611420565b611d308c604001516001600160401b03166114d8565b611d398b6114d8565b604051602001611d509897969594939291906136b0565b604051602081830303815290604052612229565b604051602001611d7491906138c3565b60405160208183030381529060405295505050505050919050565b60606000611da7836001600160a01b0316601461238d565b604051602001611db791906138f1565b60408051808303601f19018152600780845261010084019092529250606091600091816020015b6060815260200190600190039081611dde57905050905060005b6007811015611e4957611e186006611e108382613908565b86919061246a565b925082828281518110611e2d57611e2d61307b565b602002602001018190525080611e4290613061565b9050611df8565b50949350505050565b601f1982015182518251603f19909201918290611e6f9083612bff565b1115611e8d5760405162461bcd60e51b81526004016108bf906139d4565b6110de848461255a565b6060833b6000819003611eba575050604080516020810190915260008152611383565b80841115611ed8575050604080516020810190915260008152611383565b83831015611eff5780848460405163162544fd60e11b81526004016108bf939291906139e4565b8383038482036000828210611f145782611f16565b815b60408051603f8301601f19168101909152818152955090508087602087018a3c505050509392505050565b6060815182604051602001611f57929190613a4b565b6040516020818303038152906040529050919050565b60006001600160e01b031982166380ac58cd60e01b1480611f9e57506001600160e01b03198216635b5e139f60e01b145b80610b6457506301ffc9a760e01b6001600160e01b0319831614610b64565b60606000611fcc836002613042565b611fd7906002612bff565b6001600160401b03811115611fee57611fee6128f1565b6040519080825280601f01601f191660200182016040528015612018576020820181803683370190505b509050600360fc1b816000815181106120335761203361307b565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106120625761206261307b565b60200101906001600160f81b031916908160001a9053506000612086846002613042565b612091906001612bff565b90505b6001811115612109576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106120c5576120c561307b565b1a60f81b8282815181106120db576120db61307b565b60200101906001600160f81b031916908160001a90535060049490941c9361210281613a71565b9050612094565b5083156113835760405162461bcd60e51b81526004016108bf90613aba565b60006001600160a01b0384163b1561221e57604051630a85bd0160e11b81526001600160a01b0385169063150b7a029061216c903390899088908890600401613aca565b6020604051808303816000875af19250505080156121a7575060408051601f3d908101601f191682019092526121a491810190613b19565b60015b612204573d8080156121d5576040519150601f19603f3d011682016040523d82523d6000602084013e6121da565b606091505b5080516000036121fc5760405162461bcd60e51b81526004016108bf90613475565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506115d8565b506001949350505050565b6060815160000361224857505060408051602081019091526000815290565b6000604051806060016040528060408152602001613c0d60409139905060006003845160026122779190612bff565b6122819190612f33565b61228c906004613042565b9050600061229b826020612bff565b6001600160401b038111156122b2576122b26128f1565b6040519080825280601f01601f1916602001820160405280156122dc576020820181803683370190505b509050818152600183018586518101602084015b81831015612348576003830192508251603f8160121c168501518253600182019150603f81600c1c168501518253600182019150603f8160061c168501518253600182019150603f81168501518253506001016122f0565b60038951066001811461236257600281146123735761237f565b613d3d60f01b60011983015261237f565b603d60f81b6000198301525b509398975050505050505050565b6060600061239c836002613042565b6001600160401b038111156123b3576123b36128f1565b6040519080825280601f01601f1916602001820160405280156123dd576020820181803683370190505b5080519091505b8015612462576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106124125761241261307b565b1a60f81b82612422600184612f47565b815181106124325761243261307b565b60200101906001600160f81b031916908160001a90535060049490941c938061245a81613a71565b9150506123e4565b509392505050565b8251606090849061247b8585613b3a565b111561248957612489613b76565b6000846001600160401b038111156124a3576124a36128f1565b6040519080825280601f01601f1916602001820160405280156124cd576020820181803683370190505b509050806000855b6124df8888613b3a565b81101561254d578481815181106124f8576124f861307b565b01602001516001600160f81b031916838361251281613061565b9450815181106125245761252461307b565b60200101906001600160f81b031916908160001a9053508061254581613061565b9150506124d5565b5090979650505050505050565b8051602082019150808201602084510184015b8184101561258557835181526020938401930161256d565b505082510190915250565b6001600160e01b031981165b81146125a757600080fd5b50565b8035610b6481612590565b6000602082840312156125ca576125ca600080fd5b60006115d884846125aa565b8015155b82525050565b60208101610b6482846125d6565b60005b838110156126095781810151838201526020016125f1565b838111156110de5750506000910152565b6000612624825190565b80845260208401935061263b8185602086016125ee565b601f01601f19169290920192915050565b60208082528101611383818461261a565b8061259c565b8035610b648161265d565b60006020828403121561268357612683600080fd5b60006115d88484612663565b60006001600160a01b038216610b64565b6125da8161268f565b60208101610b6482846126a0565b61259c8161268f565b8035610b64816126b7565b600080604083850312156126e1576126e1600080fd5b60006126ed85856126c0565b92505060206126fe85828601612663565b9150509250929050565b806125da565b60208101610b648284612708565b60008060006060848603121561273457612734600080fd5b600061274086866126c0565b9350506020612751868287016126c0565b925050604061276286828701612663565b9150509250925092565b6000806040838503121561278257612782600080fd5b600061278e8585612663565b92505060206126fe858286016126c0565b6001600160401b0381166125da565b60c081016127bc82896125d6565b81810360208301526127ce818861261a565b90506127dd604083018761279f565b6127ea6060830186612708565b81810360808301526127fc818561261a565b905081810360a0830152612810818461261a565b98975050505050505050565b600061282883836126a0565b505060200190565b600061283a825190565b80845260209384019383018060005b8381101561286e57815161285d888261281c565b975060208301925050600101612849565b509495945050505050565b602080825281016113838184612830565b60006020828403121561289f5761289f600080fd5b60006115d884846126c0565b80151561259c565b8035610b64816128ab565b600080604083850312156128d4576128d4600080fd5b60006128e085856126c0565b92505060206126fe858286016128b3565b634e487b7160e01b600052604160045260246000fd5b601f19601f83011681018181106001600160401b038211171561292c5761292c6128f1565b6040525050565b600061293e60405190565b905061294a8282612907565b919050565b60006001600160401b03821115612968576129686128f1565b601f19601f83011660200192915050565b82818337506000910152565b60006129986129938461294f565b612933565b9050828152602081018484840111156129b3576129b3600080fd5b612462848285612979565b600082601f8301126129d2576129d2600080fd5b81356115d8848260208601612985565b600080600080608085870312156129fb576129fb600080fd5b6000612a0787876126c0565b9450506020612a18878288016126c0565b9350506040612a2987828801612663565b92505060608501356001600160401b03811115612a4857612a48600080fd5b612a54878288016129be565b91505092959194509250565b60008060408385031215612a7657612a76600080fd5b600061278e85856126c0565b600060208284031215612a9757612a97600080fd5b81356001600160401b03811115612ab057612ab0600080fd5b6115d8848285016129be565b601f81526000602082017f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815291505b5060200190565b60208082528101610b6481612abc565b60128152600060208201714d696e74206973206e6f742061637469766560701b81529150612aec565b60208082528101610b6481612b03565b6000612b46825190565b612b548185602086016125ee565b9290920192915050565b6d029b2b7321030ba103632b0b9ba160951b8152600e016000612b818284612b3c565b67081d1bc81b5a5b9d60c21b81526008019392505050565b6d029b2b7321030ba103632b0b9ba160951b8152600e016000612bbc8284612b3c565b7f20746f207570646174652062696f206f722073656c6620776f727468000000008152601c019392505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115612c1257612c12612be9565b500190565b7f42696f20697320746f6f206c6f6e672e204d6178206c656e6774683a200000008152601d0160006113838284612b3c565b60608082528101612c5a818661261a565b90508181036020830152612c6e818561261a565b90506115d86040830184612708565b60408082528101612c8e818561261a565b90506113836020830184612708565b634e487b7160e01b600052602260045260246000fd5b600281046001821680612cc757607f821691505b60208210810361172257611722612c9d565b602c81526000602082017f4552433732313a20617070726f76656420717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b602082015291505b5060400190565b60208082528101610b6481612cd9565b602181526000602082017f4552433732313a20617070726f76616c20746f2063757272656e74206f776e658152603960f91b60208201529150612d1e565b60208082528101610b6481612d35565b603881526000602082017f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7781527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060208201529150612d1e565b60208082528101610b6481612d83565b603181526000602082017f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f8152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b60208201529150612d1e565b60208082528101610b6481612ded565b60158152600060208201741b595b595b5948191bd95cc81b9bdd08195e1a5cdd605a1b81529150612aec565b60208082528101610b6481612e4b565b602f81526000602082017f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636581526e103937b632b9903337b91039b2b63360891b60208201529150612d1e565b60208082528101610b6481612e87565b60138152600060208201724e6f7468696e6720746f20776974686472617760681b81529150612aec565b60208082528101610b6481612ee3565b634e487b7160e01b600052601260045260246000fd5b600082612f4257612f42612f1d565b500490565b600082821015612f5957612f59612be9565b500390565b601081526000602082016f21b7b73a3930b1ba1039b2b0b632b21760811b81529150612aec565b60208082528101610b6481612f5e565b602981526000602082017f4552433732313a206f776e657220717565727920666f72206e6f6e657869737481526832b73a103a37b5b2b760b91b60208201529150612d1e565b60208082528101610b6481612f95565b602a81526000602082017f4552433732313a2062616c616e636520717565727920666f7220746865207a65815269726f206164647265737360b01b60208201529150612d1e565b60208082528101610b6481612feb565b600081600019048311821515161561305c5761305c612be9565b500290565b6000600019820361307457613074612be9565b5060010190565b634e487b7160e01b600052603260045260246000fd5b6211179f60e91b815260005b5060030190565b7f3c726563742077696474683d223122206865696768743d22372220783d2200008152601e0160006130d68285612b3c565b6e2220793d2230222066696c6c3d222360881b8152600f0191506130fa8284612b3c565b91506115d882613091565b60008261311457613114612f1d565b500690565b600360fc1b815260010160006113838284612b3c565b600061313b8285612b3c565b601760f91b815260010191506115d88284612b3c565b60208082527f4552433732313a206d696e7420746f20746865207a65726f206164647265737391019081526000612aec565b60208082528101610b6481613151565b601c81526000602082017f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000081529150612aec565b60208082528101610b6481613193565b6000808252613074565b60006131ec826131d7565b91506113838284612b3c565b604081016132068285612708565b6113836020830184612708565b602c81526000602082017f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657881526b34b9ba32b73a103a37b5b2b760a11b60208201529150612d1e565b60208082528101610b6481613213565b601c81526000602082017f6d656d656d65732063616e6e6f74206265207472616e7366657265640000000081529150612aec565b60208082528101610b648161326c565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260005b5060170190565b7001034b99036b4b9b9b4b733903937b6329607d1b815260005b5060110190565b6000613309826132b0565b91506133158285612b3c565b9150613320826132dd565b91506115d88284612b3c565b601d81526000602082017f416464726573733a20696e73756666696369656e742062616c616e636500000081529150612aec565b60208082528101610b648161332c565b600081610b64565b603a81526000602082017f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d6179206861766520726576657274656400000000000060208201529150612d1e565b60208082528101610b6481613378565b601981526000602082017f4552433732313a20617070726f766520746f2063616c6c65720000000000000081529150612aec565b60208082528101610b64816133e2565b603281526000602082017f4552433732313a207472616e7366657220746f206e6f6e20455243373231526581527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60208201529150612d1e565b60208082528101610b6481613426565b6702a3434b99034b9960c51b815260080160006134a28284612b3c565b7f2e2054686520756e697175652068657861646563696d616c206164647265737381527f20686173206265656e2072656e6465726564206173203720737472697065732060208201527f6f6620737472696b696e6720636f6c6f722c20616e6420616e79207374726f6e60408201527f6720636f6d706c656d656e7473206f7220636f696e636964656e63657320617260608201527f652074686520726573756c74206f6620646972656374207472616e736c61746960808201526237b71760e91b60a0820152915060a38201611383565b607b60f81b81526000613074565b701116113232b9b1b934b83a34b7b7111d1160791b815260006132f7565b70222c2261747472696275746573223a205b60781b815260006132f7565b7f2274726169745f74797065223a202249732023313f222c000000000000000000815260006132d6565b601160f91b81526000613074565b627d2c7b60e81b8152600061309d565b7f2274726169745f74797065223a202253656c6620576f727468222c0000000000815260005b50601b0190565b680113b30b63ab2911d160bd1b815260005b5060090190565b7f22646973706c61795f74797065223a202264617465222c000000000000000000815260006132d6565b7f2274726169745f74797065223a202242696f204c656e677468222c00000000008152600061362c565b627d5d7d60e81b8152600061309d565b60006136bb82613574565b67113730b6b2911d1160c11b815260080191506136d8828b612b3c565b91506136e382613582565b91506136ef828a612b3c565b7f222c22696d6167655f64617461223a22646174613a696d6167652f7376672b788152691b5b0ed8985cd94d8d0b60b21b6020820152602a0191506137348289612b3c565b7111161132bc3a32b93730b62fbab936111d1160711b8152601201915061375b8288612b3c565b9150613766826135a0565b915061377182613574565b915061377c826135be565b69113b30b63ab2911d101160b11b8152600a01915061379b8287612b3c565b91506137a6826135e8565b91506137b1826135f6565b91506137bc82613606565b7808991a5cdc1b185e57dd1e5c19488e88089b9d5b58995c888b603a1b815260190191506137e982613633565b91506137f58286612b3c565b9150613800826135f6565b7f2274726169745f74797065223a20224d696e742044617465222c0000000000008152601a0191506138318261364c565b69113b30b63ab2911d101160b11b8152600a0191506138508285612b3c565b915061385b826135e8565b9150613866826135f6565b915061387182613676565b7808991a5cdc1b185e57dd1e5c19488e88089b9d5b58995c888b603a1b8152601901915061389e82613633565b91506138aa8284612b3c565b91506138b5826136a0565b9a9950505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000601d82016131ec565b61030360f41b815260020160006113838284612b3c565b6000826001600160ff1b03048211600084136000841316161561392d5761392d612be9565b81600160ff1b058312600084126000841316161561394d5761394d612be9565b82600160ff1b058212600084136000841216161561396d5761396d612be9565b826001600160ff1b03058212600084126000841216161561305c5761305c612be9565b602781526000602082017f44796e616d69634275666665723a20417070656e64696e67206f7574206f66208152663137bab732399760c91b60208201529150612d1e565b60208082528101610b6481613990565b606081016139f28286612708565b6139ff6020830185612708565b6115d86040830184612708565b606360f81b81526000613074565b6000610b648260e01b90565b6125da63ffffffff8216613a1a565b6880600e6000396000f360b81b81526000613645565b6000613a5682613a0c565b9150613a628285613a26565b60048201915061332082613a35565b600081613a8057613a80612be9565b506000190190565b60208082527f537472696e67733a20686578206c656e67746820696e73756666696369656e7491019081526000612aec565b60208082528101610b6481613a88565b60808101613ad882876126a0565b613ae560208301866126a0565b613af26040830185612708565b8181036060830152613b04818461261a565b9695505050505050565b8051610b6481612590565b600060208284031215613b2e57613b2e600080fd5b60006115d88484613b0e565b6000816001600160ff1b0303831360008312151615613b5b57613b5b612be9565b81600160ff1b038312600083121615612c1257612c12612be9565b634e487b7160e01b600052600160045260246000fdfe3c7376672077696474683d223132303022206865696768743d2231323030222073686170652d72656e646572696e673d22637269737045646765732220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f737667222076657273696f6e3d22312e32222076696577426f783d2230203020372037223e4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f68747470733a2f2f63617073756c6532312e636f6d2f636f6c6c656374696f6e732f6d656d656d65a264697066735822122016fcf67762d63d0c5d68b069bea082e96240335d925798ab53789c0d41ac73ff64736f6c634300080e0033