0 txs
0 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
dnaToTraits
viewfunction dnaToTraits(uint256 dna) view returns (tuple[])
getMetadataJson
viewfunction getMetadataJson(uint256 tokenId) view returns (string)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
jobsAddr
viewfunction jobsAddr() view returns (address)
metadata
viewfunction metadata() view returns (string name, string description, string external_url, string image_base_uri, string image_extension, string image_base_full_uri_1, string image_base_full_uri_2, string image_full_extension)
MINTER_ROLE
viewfunction MINTER_ROLE() view returns (bytes32)
namesAddr
viewfunction namesAddr() view returns (address)
storageAddr
viewfunction storageAddr() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
testJobs
viewfunction testJobs(uint256 tokenId) view returns (bool)
testName
viewfunction testName(uint256 tokenId) view returns (string)
testTraits
viewfunction testTraits(uint256 tokenId) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
traits
viewfunction traits(uint256) view returns (string trait_type, uint8 index)
traitsById
viewfunction traitsById(uint256 tokenId) view returns (tuple[])
traitValues
viewfunction traitValues(uint256, uint256) view returns (string)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setDescription
nonpayablefunction setDescription(string description)
setExternalUrl
nonpayablefunction setExternalUrl(string external_url)
setFullImage
nonpayablefunction setFullImage(string _uri, string full_image_extension, uint256 _batch)
setImage
nonpayablefunction setImage(string image_base_uri, string image_extension)
setMetadata
nonpayablefunction setMetadata(tuple _metadata)
setNamesAddr
nonpayablefunction setNamesAddr(address _addr)
setShowJobMinted
nonpayablefunction setShowJobMinted(bool _value)
setStorageAddr
nonpayablefunction setStorageAddr(address _addr)
setTrait
nonpayablefunction setTrait(uint8 trait_type, uint8 trait_idx, string value)
setTraitType
nonpayablefunction setTraitType(uint8 trait_type_idx, string trait_type)
writeTraitData
nonpayablefunction writeTraitData(uint8 trait_type, uint8 start, uint256 length, string[] trait_values)
writeTraitTypes
nonpayablefunction writeTraitTypes(string[] trait_types)
events
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)
errors
No errors.
creation bytecode
0x6080604052600180546001600160a01b031990811673878adc4ef1948180434005d6f2eb91f0af3e0d1517909155600280548216731ffe4026573cead0f49355b9d1b276a78f79924f1790556003805490911673277e820ff978326831cff29f431bcd7def93511f1790556010805460ff60a01b1916600160a01b1790553480156200008a57600080fd5b506200009860003362000239565b620000b36000805160206200409e8339815191523362000239565b600354600e80546001600160a01b039283166001600160a01b031991821617909155600254600f805491841691831691909117905560015460108054919093169116179055604080516101408101825260076101008201908152662932b3bab630b960c91b6101208301528152815160608101909252602680835260009260208084019290620040429083013981526020016040518060400160405280601f81526020017f68747470733a3a2f2f726567756c61722e776f726c642f726567756c61722f00815250815260200160405180606001604052806036815260200162004068603691398152602001604051806040016040528060048152602001632e6a706760e01b8152508152602001604051806060016040528060368152602001620040be603691398152602001604051806060016040528060368152602001620040f4603691398152602001604051806040016040528060048152602001632e706e6760e01b81525081525090506200023281620002da60201b60201c565b50620008a9565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620002d6576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002953390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000805160206200409e833981519152620002f68133620003e8565b815180518391600691620003129183916020909101906200064c565b5060208281015180516200032d92600185019201906200064c565b50604082015180516200034b9160028401916020909101906200064c565b5060608201518051620003699160038401916020909101906200064c565b5060808201518051620003879160048401916020909101906200064c565b5060a08201518051620003a59160058401916020909101906200064c565b5060c08201518051620003c39160068401916020909101906200064c565b5060e08201518051620003e19160078401916020909101906200064c565b5050505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16620002d65762000432816001600160a01b031660146200048c60201b62001b6e1760201c565b6200044883602062001b6e6200048c821b17811c565b6040516020016200045b92919062000725565b60408051601f198184030181529082905262461bcd60e51b825262000483916004016200079e565b60405180910390fd5b606060006200049d836002620007e9565b620004aa9060026200080b565b6001600160401b03811115620004c457620004c462000826565b6040519080825280601f01601f191660200182016040528015620004ef576020820181803683370190505b509050600360fc1b816000815181106200050d576200050d6200083c565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106200053f576200053f6200083c565b60200101906001600160f81b031916908160001a905350600062000565846002620007e9565b620005729060016200080b565b90505b6001811115620005f4576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110620005aa57620005aa6200083c565b1a60f81b828281518110620005c357620005c36200083c565b60200101906001600160f81b031916908160001a90535060049490941c93620005ec8162000852565b905062000575565b508315620006455760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640162000483565b9392505050565b8280546200065a906200086c565b90600052602060002090601f0160209004810192826200067e5760008555620006c9565b82601f106200069957805160ff1916838001178555620006c9565b82800160010185558215620006c9579182015b82811115620006c9578251825591602001919060010190620006ac565b50620006d7929150620006db565b5090565b5b80821115620006d75760008155600101620006dc565b60005b838110156200070f578181015183820152602001620006f5565b838111156200071f576000848401525b50505050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516200075f816017850160208801620006f2565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835162000792816028840160208801620006f2565b01602801949350505050565b6020815260008251806020840152620007bf816040850160208701620006f2565b601f01601f19169190910160400192915050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615620008065762000806620007d3565b500290565b60008219821115620008215762000821620007d3565b500190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081620008645762000864620007d3565b506000190190565b600181811c908216806200088157607f821691505b60208210811415620008a357634e487b7160e01b600052602260045260246000fd5b50919050565b61378980620008b96000396000f3fe608060405234801561001057600080fd5b506004361061020b5760003560e01c80637c98ac4c1161012a578063b69945b5116100bd578063c87b56dd1161008c578063d539139311610071578063d5391393146104e1578063d547741f146104f6578063f7d027de1461050957600080fd5b8063c87b56dd146104bb578063cdf9b5d2146104ce57600080fd5b8063b69945b51461046f578063bd37a1ee14610482578063c1cb6c7d14610495578063c4e1750b146104a857600080fd5b806397df573e116100f957806397df573e1461042e578063a217fddf14610441578063a6fa0b7b14610449578063ab7909321461045c57600080fd5b80637c98ac4c146103be5780639079eeb9146103d157806390c3f38f146103e457806391d14854146103f757600080fd5b806339492faa116101a25780636d5f5fe9116101715780636d5f5fe91461036557806372cf42191461037857806373c266311461038b57806379f37202146103ab57600080fd5b806339492faa146102f457806339b71788146103075780634a3f64ce1461031a5780635ba4da321461034557600080fd5b80632d72225b116101de5780632d72225b146102915780632f2ff15d146102b257806336568abe146102c5578063392f37e9146102d857600080fd5b806301ffc9a7146102105780631f36f14214610238578063248a9ca31461024d57806326d58ad31461027e575b600080fd5b61022361021e36600461261c565b61051c565b60405190151581526020015b60405180910390f35b61024b610246366004612763565b6105b5565b005b61027061025b3660046127b1565b60009081526020819052604090206001015490565b60405190815260200161022f565b61024b61028c3660046127ca565b610649565b6102a461029f3660046127b1565b61067a565b60405161022f929190612857565b61024b6102c0366004612893565b610739565b61024b6102d3366004612893565b61075f565b6102e06107f0565b60405161022f9897969594939291906128bf565b6102706103023660046127b1565b610c64565b61024b61031536600461296e565b610cd2565b60015461032d906001600160a01b031681565b6040516001600160a01b03909116815260200161022f565b6103586103533660046127b1565b610dcd565b60405161022f9190612ad8565b61024b610373366004612b69565b6110c4565b61024b610386366004612be7565b611182565b61039e6103993660046127b1565b6111d5565b60405161022f9190612c04565b6102236103b93660046127b1565b611247565b61024b6103cc366004612c17565b6112b5565b61039e6103df366004612c32565b6112fe565b61024b6103f23660046127ca565b6113a3565b610223610405366004612893565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b60035461032d906001600160a01b031681565b610270600081565b61024b610457366004612c17565b6113cf565b61024b61046a366004612c54565b611418565b61024b61047d366004612d51565b611460565b60025461032d906001600160a01b031681565b6103586104a33660046127b1565b6114d1565b61024b6104b6366004612db9565b611754565b61039e6104c93660046127b1565b61179a565b61024b6104dc366004612e13565b6117dc565b61027060008051602061373483398151915281565b61024b610504366004612893565b61189a565b61039e6105173660046127b1565b6118c0565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806105af57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b6000805160206137348339815191526105ce8133611d3a565b60405180604001604052808381526020018460ff1681525060048460ff16815481106105fc576105fc612e48565b90600052602060002090600202016000820151816000019080519060200190610626929190612583565b50602091909101516001909101805460ff191660ff909216919091179055505050565b6000805160206137348339815191526106628133611d3a565b8151610675906008906020850190612583565b505050565b6004818154811061068a57600080fd5b90600052602060002090600202016000915090508060000180546106ad90612e5e565b80601f01602080910402602001604051908101604052809291908181526020018280546106d990612e5e565b80156107265780601f106106fb57610100808354040283529160200191610726565b820191906000526020600020905b81548152906001019060200180831161070957829003601f168201915b5050506001909301549192505060ff1682565b6000828152602081905260409020600101546107558133611d3a565b6106758383611db8565b6001600160a01b03811633146107e25760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b6107ec8282611e56565b5050565b6006805481906107ff90612e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461082b90612e5e565b80156108785780601f1061084d57610100808354040283529160200191610878565b820191906000526020600020905b81548152906001019060200180831161085b57829003601f168201915b50505050509080600101805461088d90612e5e565b80601f01602080910402602001604051908101604052809291908181526020018280546108b990612e5e565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b50505050509080600201805461091b90612e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461094790612e5e565b80156109945780601f1061096957610100808354040283529160200191610994565b820191906000526020600020905b81548152906001019060200180831161097757829003601f168201915b5050505050908060030180546109a990612e5e565b80601f01602080910402602001604051908101604052809291908181526020018280546109d590612e5e565b8015610a225780601f106109f757610100808354040283529160200191610a22565b820191906000526020600020905b815481529060010190602001808311610a0557829003601f168201915b505050505090806004018054610a3790612e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6390612e5e565b8015610ab05780601f10610a8557610100808354040283529160200191610ab0565b820191906000526020600020905b815481529060010190602001808311610a9357829003601f168201915b505050505090806005018054610ac590612e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054610af190612e5e565b8015610b3e5780601f10610b1357610100808354040283529160200191610b3e565b820191906000526020600020905b815481529060010190602001808311610b2157829003601f168201915b505050505090806006018054610b5390612e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7f90612e5e565b8015610bcc5780601f10610ba157610100808354040283529160200191610bcc565b820191906000526020600020905b815481529060010190602001808311610baf57829003601f168201915b505050505090806007018054610be190612e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054610c0d90612e5e565b8015610c5a5780601f10610c2f57610100808354040283529160200191610c5a565b820191906000526020600020905b815481529060010190602001808311610c3d57829003601f168201915b5050505050905088565b600e54604051634a83e9cd60e11b8152600481018390526000916001600160a01b031690639507d39a90602401602060405180830381865afa158015610cae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af9190612e99565b600080516020613734833981519152610ceb8133611d3a565b815180518391600691610d05918391602090910190612583565b506020828101518051610d1e9260018501920190612583565b5060408201518051610d3a916002840191602090910190612583565b5060608201518051610d56916003840191602090910190612583565b5060808201518051610d72916004840191602090910190612583565b5060a08201518051610d8e916005840191602090910190612583565b5060c08201518051610daa916006840191602090910190612583565b5060e08201518051610dc6916007840191602090910190612583565b5050505050565b600e54604051634a83e9cd60e11b8152600481018390526060916000916001600160a01b0390911690639507d39a90602401602060405180830381865afa158015610e1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e409190612e99565b60045490915060008167ffffffffffffffff811115610e6157610e61612674565b604051908082528060200260200182016040528015610eb657816020015b610ea360405180606001604052806060815260200160008152602001606081525090565b815260200190600190039081610e7f5790505b50905060005b828110156110bb576000610ed1826008612ec8565b60ff901b90506000610ee4836008612ec8565b828716901c905060006005600060048681548110610f0457610f04612e48565b600091825260208083206001600290930201919091015460ff168352828101939093526040918201812085825290925290208054610f4190612e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f6d90612e5e565b8015610fba5780601f10610f8f57610100808354040283529160200191610fba565b820191906000526020600020905b815481529060010190602001808311610f9d57829003601f168201915b50505050509050604051806060016040528060048681548110610fdf57610fdf612e48565b90600052602060002090600202016000018054610ffb90612e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461102790612e5e565b80156110745780601f1061104957610100808354040283529160200191611074565b820191906000526020600020905b81548152906001019060200180831161105757829003601f168201915b505050505081526020018381526020018281525085858151811061109a5761109a612e48565b602002602001018190525050505080806110b390612ee7565b915050610ebc565b50949350505050565b6000805160206137348339815191526110dd8133611d3a565b81600114806110ec5750816002145b6111385760405162461bcd60e51b815260206004820152601060248201527f6f6e6c792074776f20626174636865730000000000000000000000000000000060448201526064016107d9565b816001141561115a57835161115490600b906020870190612583565b5061116f565b835161116d90600c906020870190612583565b505b8251610dc690600d906020860190612583565b60008051602061373483398151915261119b8133611d3a565b5060108054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600f54604051634622ab0360e01b8152600481018390526060916001600160a01b031690634622ab0390602401600060405180830381865afa15801561121f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105af9190810190612f02565b601054604051637dc0bf3f60e01b8152600481018390526000916001600160a01b031690637dc0bf3f90602401602060405180830381865afa158015611291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105af9190612f79565b6000805160206137348339815191526112ce8133611d3a565b50600f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60056020908152600092835260408084209091529082529020805461132290612e5e565b80601f016020809104026020016040519081016040528092919081815260200182805461134e90612e5e565b801561139b5780601f106113705761010080835404028352916020019161139b565b820191906000526020600020905b81548152906001019060200180831161137e57829003601f168201915b505050505081565b6000805160206137348339815191526113bc8133611d3a565b8151610675906007906020850190612583565b6000805160206137348339815191526113e88133611d3a565b50600e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000805160206137348339815191526114318133611d3a565b60ff808516600090815260056020908152604080832093871683529281529190208351610dc692850190612583565b6000805160206137348339815191526114798133611d3a565b60005b838160ff1610156114c9576114b7866114958388612f96565b858460ff16815181106114aa576114aa612e48565b6020026020010151611418565b806114c181612fbb565b91505061147c565b505050505050565b60045460609060008167ffffffffffffffff8111156114f2576114f2612674565b60405190808252806020026020018201604052801561154757816020015b61153460405180606001604052806060815260200160008152602001606081525090565b8152602001906001900390816115105790505b50905060005b8281101561174c576000611562826008612ec8565b60ff901b90506000611575836008612ec8565b828816901c90506000600560006004868154811061159557611595612e48565b600091825260208083206001600290930201919091015460ff1683528281019390935260409182018120858252909252902080546115d290612e5e565b80601f01602080910402602001604051908101604052809291908181526020018280546115fe90612e5e565b801561164b5780601f106116205761010080835404028352916020019161164b565b820191906000526020600020905b81548152906001019060200180831161162e57829003601f168201915b5050505050905060405180606001604052806004868154811061167057611670612e48565b9060005260206000209060020201600001805461168c90612e5e565b80601f01602080910402602001604051908101604052809291908181526020018280546116b890612e5e565b80156117055780601f106116da57610100808354040283529160200191611705565b820191906000526020600020905b8154815290600101906020018083116116e857829003601f168201915b505050505081526020018381526020018281525085858151811061172b5761172b612e48565b6020026020010181905250505050808061174490612ee7565b91505061154d565b509392505050565b60008051602061373483398151915261176d8133611d3a565b8251611780906009906020860190612583565b50815161179490600a906020850190612583565b50505050565b606060006117af6117aa846118c0565b611ed5565b90506000816040516020016117c49190612ff7565b60408051601f19818403018152919052949350505050565b6000805160206137348339815191526117f58133611d3a565b60005b82518160ff1610156106755760046040518060400160405280858460ff168151811061182657611826612e48565b602090810291909101810151825260ff85169181019190915282546001810184556000938452928190208251805193946002029091019261186a9284920190612583565b50602091909101516001909101805460ff191660ff9092169190911790558061189281612fbb565b9150506117f8565b6000828152602081905260409020600101546118b68133611d3a565b6106758383611e56565b600e54604051634a83e9cd60e11b8152600481018390526060916000916001600160a01b0390911690639507d39a90602401602060405180830381865afa15801561190f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119339190612e99565b905060006119418483612072565b600f54604051634622ab0360e01b8152600481018790529192506000916001600160a01b0390911690634622ab0390602401600060405180830381865afa158015611990573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526119b89190810190612f02565b90506000808251116119f45760066119cf876122cb565b6040516020016119e09291906130d6565b604051602081830303815290604052611a27565b6119fd866122cb565b611a06836123d1565b604051602001611a17929190613124565b6040516020818303038152906040525b905060006113888710611a3b57600c611a3e565b600b5b8054611a4990612e5e565b80601f0160208091040260200160405190810160405280929190818152602001828054611a7590612e5e565b8015611ac25780601f10611a9757610100808354040283529160200191611ac2565b820191906000526020600020905b815481529060010190602001808311611aa557829003601f168201915b5050505050905080611ad3886122cb565b604051611ae7929190600d906020016131a5565b60408051601f1981840301815291905290506000826007866008611b0a8c6122cb565b6009611b158e6122cb565b604051611b309796959493929190600a908b906020016131e2565b604051602081830303815290604052905080604051602001611b529190613377565b6040516020818303038152906040529650505050505050919050565b60606000611b7d836002612ec8565b611b889060026133b8565b67ffffffffffffffff811115611ba057611ba0612674565b6040519080825280601f01601f191660200182016040528015611bca576020820181803683370190505b509050600360fc1b81600081518110611be557611be5612e48565b60200101906001600160f81b031916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611c3057611c30612e48565b60200101906001600160f81b031916908160001a9053506000611c54846002612ec8565b611c5f9060016133b8565b90505b6001811115611ce4577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611ca057611ca0612e48565b1a60f81b828281518110611cb657611cb6612e48565b60200101906001600160f81b031916908160001a90535060049490941c93611cdd816133d0565b9050611c62565b508315611d335760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016107d9565b9392505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166107ec57611d76816001600160a01b03166014611b6e565b611d81836020611b6e565b604051602001611d929291906133e7565b60408051601f198184030181529082905262461bcd60e51b82526107d991600401612c04565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166107ec576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055611e123390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff16156107ec576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b805160609080611ef5575050604080516020810190915260008152919050565b60006003611f048360026133b8565b611f0e919061347e565b611f19906004612ec8565b90506000611f288260206133b8565b67ffffffffffffffff811115611f4057611f40612674565b6040519080825280601f01601f191660200182016040528015611f6a576020820181803683370190505b50905060006040518060600160405280604081526020016136f4604091399050600181016020830160005b86811015611ff6576003818a01810151603f601282901c8116860151600c83901c8216870151600684901c831688015192909316870151600891821b60ff94851601821b92841692909201901b91160160e01b835260049092019101611f95565b506003860660018114612010576002811461203c57612064565b7f3d3d000000000000000000000000000000000000000000000000000000000000600119830152612064565b7f3d000000000000000000000000000000000000000000000000000000000000006000198301525b505050918152949350505050565b6060600061207f836114d1565b60045460408051808201909152600281527f5b0a00000000000000000000000000000000000000000000000000000000000060208201529192509060005b8260ff168160ff1610156121d2576040517f4e6f6e6500000000000000000000000000000000000000000000000000000000602082015260240160405160208183030381529060405280519060200120848260ff168151811061212257612122612e48565b60200260200101516040015160405160200161213e9190613492565b60405160208183030381529060405280519060200120146121c05781848260ff168151811061216f5761216f612e48565b602002602001015160000151858360ff168151811061219057612190612e48565b6020026020010151604001516040516020016121ae939291906134ae565b60405160208183030381529060405291505b806121ca81612fbb565b9150506120bd565b50601054604051637dc0bf3f60e01b8152600481018890526001600160a01b0390911690637dc0bf3f90602401602060405180830381865afa15801561221c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122409190612f79565b1580156122565750601054600160a01b900460ff165b1561227e578060405160200161226c91906135bc565b60405160208183030381529060405290505b8060405160200161228f9190613623565b6040516020818303038152906040529050806040516020016122b19190613664565b604051602081830303815290604052935050505092915050565b6060816122ef5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612319578061230381612ee7565b91506123129050600a8361347e565b91506122f3565b60008167ffffffffffffffff81111561233457612334612674565b6040519080825280601f01601f19166020018201604052801561235e576020820181803683370190505b5090505b84156123c9576123736001836136a5565b9150612380600a866136bc565b61238b9060306133b8565b60f81b8183815181106123a0576123a0612e48565b60200101906001600160f81b031916908160001a9053506123c2600a8661347e565b9450612362565b949350505050565b606060008290506000815167ffffffffffffffff8111156123f4576123f4612674565b6040519080825280601f01601f19166020018201604052801561241e576020820181803683370190505b50905060208260008151811061243657612436612e48565b0160200151612448919060f81c6136d0565b60f81b8160008151811061245e5761245e612e48565b60200101906001600160f81b031916908160001a90535060015b825181101561174c5782818151811061249357612493612e48565b0160209081015160f81c148015906124ce5750826124b26001836136a5565b815181106124c2576124c2612e48565b0160209081015160f81c145b1561252a5760208382815181106124e7576124e7612e48565b01602001516124f9919060f81c6136d0565b60f81b82828151811061250e5761250e612e48565b60200101906001600160f81b031916908160001a905350612571565b82818151811061253c5761253c612e48565b602001015160f81c60f81b82828151811061255957612559612e48565b60200101906001600160f81b031916908160001a9053505b8061257b81612ee7565b915050612478565b82805461258f90612e5e565b90600052602060002090601f0160209004810192826125b157600085556125f7565b82601f106125ca57805160ff19168380011785556125f7565b828001600101855582156125f7579182015b828111156125f75782518255916020019190600101906125dc565b50612603929150612607565b5090565b5b808211156126035760008155600101612608565b60006020828403121561262e57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611d3357600080fd5b803560ff8116811461266f57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051610100810167ffffffffffffffff811182821017156126ae576126ae612674565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156126dd576126dd612674565b604052919050565b600067ffffffffffffffff8211156126ff576126ff612674565b50601f01601f191660200190565b600082601f83011261271e57600080fd5b813561273161272c826126e5565b6126b4565b81815284602083860101111561274657600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561277657600080fd5b61277f8361265e565b9150602083013567ffffffffffffffff81111561279b57600080fd5b6127a78582860161270d565b9150509250929050565b6000602082840312156127c357600080fd5b5035919050565b6000602082840312156127dc57600080fd5b813567ffffffffffffffff8111156127f357600080fd5b6123c98482850161270d565b60005b8381101561281a578181015183820152602001612802565b838111156117945750506000910152565b600081518084526128438160208601602086016127ff565b601f01601f19169290920160200192915050565b60408152600061286a604083018561282b565b905060ff831660208301529392505050565b80356001600160a01b038116811461266f57600080fd5b600080604083850312156128a657600080fd5b823591506128b66020840161287c565b90509250929050565b60006101008083526128d38184018c61282b565b905082810360208401526128e7818b61282b565b905082810360408401526128fb818a61282b565b9050828103606084015261290f818961282b565b90508281036080840152612923818861282b565b905082810360a0840152612937818761282b565b905082810360c084015261294b818661282b565b905082810360e084015261295f818561282b565b9b9a5050505050505050505050565b60006020828403121561298057600080fd5b813567ffffffffffffffff8082111561299857600080fd5b9083019061010082860312156129ad57600080fd5b6129b561268a565b8235828111156129c457600080fd5b6129d08782860161270d565b8252506020830135828111156129e557600080fd5b6129f18782860161270d565b602083015250604083013582811115612a0957600080fd5b612a158782860161270d565b604083015250606083013582811115612a2d57600080fd5b612a398782860161270d565b606083015250608083013582811115612a5157600080fd5b612a5d8782860161270d565b60808301525060a083013582811115612a7557600080fd5b612a818782860161270d565b60a08301525060c083013582811115612a9957600080fd5b612aa58782860161270d565b60c08301525060e083013582811115612abd57600080fd5b612ac98782860161270d565b60e08301525095945050505050565b60006020808301818452808551808352604092508286019150828160051b87010184880160005b83811015612b5b57603f19898403018552815160608151818652612b258287018261282b565b915050888201518986015287820151915084810388860152612b47818361282b565b968901969450505090860190600101612aff565b509098975050505050505050565b600080600060608486031215612b7e57600080fd5b833567ffffffffffffffff80821115612b9657600080fd5b612ba28783880161270d565b94506020860135915080821115612bb857600080fd5b50612bc58682870161270d565b925050604084013590509250925092565b8015158114612be457600080fd5b50565b600060208284031215612bf957600080fd5b8135611d3381612bd6565b602081526000611d33602083018461282b565b600060208284031215612c2957600080fd5b611d338261287c565b60008060408385031215612c4557600080fd5b50508035926020909101359150565b600080600060608486031215612c6957600080fd5b612c728461265e565b9250612c806020850161265e565b9150604084013567ffffffffffffffff811115612c9c57600080fd5b612ca88682870161270d565b9150509250925092565b600082601f830112612cc357600080fd5b8135602067ffffffffffffffff80831115612ce057612ce0612674565b8260051b612cef8382016126b4565b9384528581018301938381019088861115612d0957600080fd5b84880192505b85831015612d4557823584811115612d275760008081fd5b612d358a87838c010161270d565b8352509184019190840190612d0f565b98975050505050505050565b60008060008060808587031215612d6757600080fd5b612d708561265e565b9350612d7e6020860161265e565b925060408501359150606085013567ffffffffffffffff811115612da157600080fd5b612dad87828801612cb2565b91505092959194509250565b60008060408385031215612dcc57600080fd5b823567ffffffffffffffff80821115612de457600080fd5b612df08683870161270d565b93506020850135915080821115612e0657600080fd5b506127a78582860161270d565b600060208284031215612e2557600080fd5b813567ffffffffffffffff811115612e3c57600080fd5b6123c984828501612cb2565b634e487b7160e01b600052603260045260246000fd5b600181811c90821680612e7257607f821691505b60208210811415612e9357634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215612eab57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612ee257612ee2612eb2565b500290565b6000600019821415612efb57612efb612eb2565b5060010190565b600060208284031215612f1457600080fd5b815167ffffffffffffffff811115612f2b57600080fd5b8201601f81018413612f3c57600080fd5b8051612f4a61272c826126e5565b818152856020838501011115612f5f57600080fd5b612f708260208301602086016127ff565b95945050505050565b600060208284031215612f8b57600080fd5b8151611d3381612bd6565b600060ff821660ff84168060ff03821115612fb357612fb3612eb2565b019392505050565b600060ff821660ff811415612fd257612fd2612eb2565b60010192915050565b60008151612fed8185602086016127ff565b9290920192915050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161302f81601d8501602087016127ff565b91909101601d0192915050565b8054600090600181811c908083168061305657607f831692505b602080841082141561307857634e487b7160e01b600052602260045260246000fd5b81801561308c576001811461309d576130ca565b60ff198616895284890196506130ca565b60008881526020902060005b868110156130c25781548b8201529085019083016130a9565b505084890196505b50505050505092915050565b60006130e2828561303c565b7f2023000000000000000000000000000000000000000000000000000000000000815283516131188160028401602088016127ff565b01600201949350505050565b7f230000000000000000000000000000000000000000000000000000000000000081526000835161315c8160018501602088016127ff565b7f2c2000000000000000000000000000000000000000000000000000000000000060019184019182015283516131998160038401602088016127ff565b01600301949350505050565b600084516131b78184602089016127ff565b8451908301906131cb8183602089016127ff565b6131d78183018661303c565b979650505050505050565b7f7b0a226e616d65223a2022000000000000000000000000000000000000000000815260008a5161321a81600b850160208f016127ff565b7f222c0a226465736372697074696f6e223a202200000000000000000000000000600b91840191820152613251601e82018c61303c565b90507f222c0a2261747472696275746573223a0000000000000000000000000000000081528951613289816010840160208e016127ff565b7f2c0a2265787465726e616c5f75726c223a202200000000000000000000000000601092909101918201526132c1602382018a61303c565b905087516132d3818360208c016127ff565b601160f91b91019081527f2c0a22696d616765223a20220000000000000000000000000000000000000000600182015261336761336161333861332b61332561331f600d87018d61303c565b8b612fdb565b8961303c565b601160f91b815260010190565b7f2c0a22696d6167652d66756c6c223a2022000000000000000000000000000000815260110190565b85612fdb565b9c9b505050505050505050505050565b600082516133898184602087016127ff565b7f220a7d0000000000000000000000000000000000000000000000000000000000920191825250600301919050565b600082198211156133cb576133cb612eb2565b500190565b6000816133df576133df612eb2565b506000190190565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161341f8160178501602088016127ff565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000601791840191820152835161345c8160288401602088016127ff565b01602801949350505050565b634e487b7160e01b600052601260045260246000fd5b60008261348d5761348d613468565b500490565b600082516134a48184602087016127ff565b9190910192915050565b600084516134c08184602089016127ff565b7f097b202274726169745f7479706522203a20220000000000000000000000000090830190815284516134fa8160138401602089016127ff565b8082019150507f222c202276616c7565223a202200000000000000000000000000000000000000601382015283516135398160208401602088016127ff565b7f22207d0000000000000000000000000000000000000000000000000000000000602092909101918201527f2c0000000000000000000000000000000000000000000000000000000000000060238201527f0a00000000000000000000000000000000000000000000000000000000000000602482015260250195945050505050565b600082516135ce8184602087016127ff565b7f7b202274726169745f74797065223a20224a6f62222c202276616c756522203a9201918252507f20224e6f74204d696e74656422207d2c0a0000000000000000000000000000006020820152603101919050565b600082516136358184602087016127ff565b7f7b7d0a0000000000000000000000000000000000000000000000000000000000920191825250600301919050565b600082516136768184602087016127ff565b7f5d00000000000000000000000000000000000000000000000000000000000000920191825250600101919050565b6000828210156136b7576136b7612eb2565b500390565b6000826136cb576136cb613468565b500690565b600060ff821660ff8416808210156136ea576136ea612eb2565b9003939250505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220426596732beae1570a86f8e8a12e36cb6d26a9cb32e7de0b5303a6208940e59b64736f6c634300080c0033416e2065787472612d6f7264696e61727920636f6c6c656374696f6e20627920407030707073697066733a2f2f516d50506544387645576d4a6b717a347056716b4d694a787a7258545a6e6b52356b715046377458427a51726f6e2f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6697066733a2f2f516d576e5865717434676f7865374669556142735272673443373562794a4c5369787a594b505a79443737576d312f697066733a2f2f516d4e6677654b773370315432424771656e556e754b656673467a666b6439754767434e32555556433278746b352f