182 txs
290 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
COST
viewfunction COST() view returns (uint256)
generateRandomNumber
viewfunction generateRandomNumber(uint256 tokenId, uint256 mod) view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isWhale
viewfunction isWhale(address) view returns (bool)
lastPrime
viewfunction lastPrime() view returns (uint256)
MAX_FREE_PER_WALLET
viewfunction MAX_FREE_PER_WALLET() view returns (uint256)
MAX_SUPPLY
viewfunction MAX_SUPPLY() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
teamMintUsed
viewfunction teamMintUsed() view returns (bool)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
whale
viewfunction whale(uint256) view returns (address)
approve
nonpayablefunction approve(address to, uint256 tokenId)
freeMint
nonpayablefunction freeMint()
mint
payablefunction mint(uint256 amount) payable
nextPrime
nonpayablefunction nextPrime() returns (uint256)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setData
nonpayablefunction setData(string _base)
teamMint
nonpayablefunction teamMint()
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)
ConsecutiveTransfer
event ConsecutiveTransfer(uint256 indexed fromTokenId, uint256 toTokenId, address indexed from, address indexed to)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
ApprovalCallerNotOwnerNorApproved
error ApprovalCallerNotOwnerNorApproved()
ApprovalQueryForNonexistentToken
error ApprovalQueryForNonexistentToken()
ApproveToCaller
error ApproveToCaller()
BalanceQueryForZeroAddress
error BalanceQueryForZeroAddress()
MintERC2309QuantityExceedsLimit
error MintERC2309QuantityExceedsLimit()
MintToZeroAddress
error MintToZeroAddress()
MintZeroQuantity
error MintZeroQuantity()
OwnerQueryForNonexistentToken
error OwnerQueryForNonexistentToken()
OwnershipNotInitializedForExtraData
error OwnershipNotInitializedForExtraData()
TransferCallerNotOwnerNorApproved
error TransferCallerNotOwnerNorApproved()
TransferFromIncorrectOwner
error TransferFromIncorrectOwner()
TransferToNonERC721ReceiverImplementer
error TransferToNonERC721ReceiverImplementer()
TransferToZeroAddress
error TransferToZeroAddress()
URIQueryForNonexistentToken
error URIQueryForNonexistentToken()
creation bytecode
0x60806040526040518060600160405280602e81526020016132b2602e91396001908161002b91906102e1565b5060016002556105dc6003555f6004555f600b5f6101000a81548160ff02191690831515021790555034801561005f575f5ffd5b50335f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506103b0565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061011f57607f821691505b602082108103610132576101316100db565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610159565b61019e8683610159565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101e26101dd6101d8846101b6565b6101bf565b6101b6565b9050919050565b5f819050919050565b6101fb836101c8565b61020f610207826101e9565b848454610165565b825550505050565b5f5f905090565b610226610217565b6102318184846101f2565b505050565b5b81811015610254576102495f8261021e565b600181019050610237565b5050565b601f8211156102995761026a81610138565b6102738461014a565b81016020851015610282578190505b61029661028e8561014a565b830182610236565b50505b505050565b5f82821c905092915050565b5f6102b95f198460080261029e565b1980831691505092915050565b5f6102d183836102aa565b9150826002028217905092915050565b6102ea826100a4565b67ffffffffffffffff811115610303576103026100ae565b5b61030d8254610108565b610318828285610258565b5f60209050601f831160018114610349575f8415610337578287015190505b61034185826102c6565b8655506103a8565b601f19841661035786610138565b5f5b8281101561037e57848901518255600182019150602085019450602081019050610359565b8683101561039b5784890151610397601f8916826102aa565b8355505b6001600288020188555050505b505050505050565b612ef5806103bd5f395ff3fe6080604052600436106101c5575f3560e01c806370a08231116100f6578063a22cb46511610094578063bf8fbbd211610063578063bf8fbbd214610726578063c87b56dd14610750578063e985e9c51461078c578063f14695ae146107c857610260565b8063a22cb46514610696578063b88d4fde146106be578063ba7a86b8146106e6578063ba9ddfcc146106fc57610260565b80638ef1e259116100d05780638ef1e259146105ea57806395d89b411461062657806398710d1e14610650578063a0712d681461067a57610260565b806370a082311461055a578063748dc522146105965780638da5cb5b146105c057610260565b80633ccfd60b116101635780634dd08f821161013d5780634dd08f82146104a25780635b70ea9f146104cc578063609526c2146104e25780636352211e1461051e57610260565b80633ccfd60b1461043c57806342842e0e1461045257806347064d6a1461047a57610260565b8063095ea7b31161019f578063095ea7b31461039857806318160ddd146103c057806323b872dd146103ea57806332cb6b0c1461041257610260565b806301ffc9a7146102f657806306fdde0314610332578063081812fc1461035c57610260565b36610260575f600a6101dc5f600a80549050610804565b815481106101ed576101ec611f0d565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8190508073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f1935050505015801561025e573d5f5f3e3d5ffd5b005b5f600a6102725f600a80549050610804565b8154811061028357610282611f0d565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8190508073ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f193505050501580156102f4573d5f5f3e3d5ffd5b005b348015610301575f5ffd5b5061031c60048036038101906103179190611fa0565b61085b565b6040516103299190611fe5565b60405180910390f35b34801561033d575f5ffd5b506103466108ec565b604051610353919061206e565b60405180910390f35b348015610367575f5ffd5b50610382600480360381019061037d91906120c1565b610929565b60405161038f919061212b565b60405180910390f35b3480156103a3575f5ffd5b506103be60048036038101906103b9919061216e565b6109a1565b005b3480156103cb575f5ffd5b506103d4610b15565b6040516103e191906121bb565b60405180910390f35b3480156103f5575f5ffd5b50610410600480360381019061040b91906121d4565b610b27565b005b34801561041d575f5ffd5b50610426610b37565b60405161043391906121bb565b60405180910390f35b348015610447575f5ffd5b50610450610b3d565b005b34801561045d575f5ffd5b50610478600480360381019061047391906121d4565b610c16565b005b348015610485575f5ffd5b506104a0600480360381019061049b9190612350565b610c35565b005b3480156104ad575f5ffd5b506104b6610cd6565b6040516104c39190611fe5565b60405180910390f35b3480156104d7575f5ffd5b506104e0610ce8565b005b3480156104ed575f5ffd5b5061050860048036038101906105039190612397565b610804565b60405161051591906121bb565b60405180910390f35b348015610529575f5ffd5b50610544600480360381019061053f91906120c1565b610e3d565b604051610551919061212b565b60405180910390f35b348015610565575f5ffd5b50610580600480360381019061057b91906123d5565b610e4e565b60405161058d91906121bb565b60405180910390f35b3480156105a1575f5ffd5b506105aa610edf565b6040516105b791906121bb565b60405180910390f35b3480156105cb575f5ffd5b506105d4610f0f565b6040516105e1919061212b565b60405180910390f35b3480156105f5575f5ffd5b50610610600480360381019061060b91906123d5565b610f36565b60405161061d9190611fe5565b60405180910390f35b348015610631575f5ffd5b5061063a610f53565b604051610647919061206e565b60405180910390f35b34801561065b575f5ffd5b50610664610f90565b60405161067191906121bb565b60405180910390f35b610694600480360381019061068f91906120c1565b610f95565b005b3480156106a1575f5ffd5b506106bc60048036038101906106b7919061242a565b611059565b005b3480156106c9575f5ffd5b506106e460048036038101906106df9190612506565b6111cb565b005b3480156106f1575f5ffd5b506106fa6111dc565b005b348015610707575f5ffd5b506107106112e5565b60405161071d91906121bb565b60405180910390f35b348015610731575f5ffd5b5061073a6112eb565b60405161074791906121bb565b60405180910390f35b34801561075b575f5ffd5b50610776600480360381019061077191906120c1565b6112f5565b604051610783919061206e565b60405180910390f35b348015610797575f5ffd5b506107b260048036038101906107ad9190612586565b611411565b6040516107bf9190611fe5565b60405180910390f35b3480156107d3575f5ffd5b506107ee60048036038101906107e991906120c1565b61149f565b6040516107fb919061212b565b60405180910390f35b5f5f60014361081391906125f1565b90505f81338660405160200161082b93929190612624565b60405160208183030381529060405280519060200120905083815f1c6108519190612686565b9250505092915050565b5f6301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108b557506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108e55750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60606040518060400160405280600f81526020017f4469676974616c20466c6f776572730000000000000000000000000000000000815250905090565b5f610933826114da565b610969576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f6109ab826114fa565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036109e4575f5ffd5b8073ffffffffffffffffffffffffffffffffffffffff16610a036115be565b73ffffffffffffffffffffffffffffffffffffffff1614610a6657610a2f81610a2a6115be565b611411565b610a65576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b8260075f8481526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b5f610b1e6115c5565b60045403905090565b610b328383836115cc565b505050565b61106881565b3373ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc290612700565b60405180910390fd5b5f4790503373ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015610c12573d5f5f3e3d5ffd5b5050565b610c3083838360405180602001604052805f8152506111cb565b505050565b3373ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90612700565b60405180910390fd5b8060019081610cd2919061291b565b5050565b600b5f9054906101000a900460ff1681565b3373ffffffffffffffffffffffffffffffffffffffff163273ffffffffffffffffffffffffffffffffffffffff1614610d56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4d90612a34565b60405180910390fd5b5f610d5f6115be565b90505f60019050610834610d71610b15565b1115610d8157610d7f610edf565b505b61106881610d8d610b15565b610d979190612a52565b1115610dd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dcf90612acf565b60405180910390fd5b6001610de383611929565b82610dee9190612a52565b1115610e2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2690612b37565b60405180910390fd5b610e39828261197d565b5050565b5f610e47826114fa565b9050919050565b5f5f610e5983611ad2565b03610e90576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054169050919050565b5f5f5b600354811015610f0b578081610ef89190612b55565b6002819055508080600101915050610ee2565b5090565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6009602052805f5260405f205f915054906101000a900460ff1681565b60606040518060400160405280600481526020017f4469466c00000000000000000000000000000000000000000000000000000000815250905090565b600181565b5f610f9e6115be565b905061106882610fac610b15565b610fb69190612a52565b1115610ff7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fee90612be0565b60405180910390fd5b3465c9e86723e0008361100a9190612b55565b111561104b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104290612c48565b60405180910390fd5b611055818361197d565b5050565b6110616115be565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110c5576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060085f6110d16115be565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff1661117a6115be565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111bf9190611fe5565b60405180910390a35050565b6111d68484846115cc565b50505050565b3373ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461126a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126190612700565b60405180910390fd5b5f1515600b5f9054906101000a900460ff161515146112be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b590612cb0565b60405180910390fd5b6001600b5f6101000a81548160ff0219169083151502179055506112e333603261197d565b565b60025481565b65c9e86723e00081565b6060611300826114da565b611336576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f600180546113449061274b565b80601f01602080910402602001604051908101604052809291908181526020018280546113709061274b565b80156113bb5780601f10611392576101008083540402835291602001916113bb565b820191905f5260205f20905b81548152906001019060200180831161139e57829003601f168201915b505050505090505f8151036113de5760405180602001604052805f815250611409565b806113e884611adb565b6040516020016113f9929190612de6565b6040516020818303038152906040525b915050919050565b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b600a81815481106114ae575f80fd5b905f5260205f20015f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f816114e46115c5565b111580156114f3575060045482105b9050919050565b5f5f829050806115086115c5565b1161158757600454811015611586575f60055f8381526020019081526020015f205490505f7c0100000000000000000000000000000000000000000000000000000000821603611584575b5f810361157a5760055f836001900393508381526020019081526020015f20549050611553565b80925050506115b9565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b5f33905090565b5f5f905090565b5f6115d6826114fa565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461163d576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60075f8481526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505f8573ffffffffffffffffffffffffffffffffffffffff166116916115be565b73ffffffffffffffffffffffffffffffffffffffff1614806116c057506116bf866116ba6115be565b611411565b5b806116fd57506116ce6115be565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b905080611736576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61174083611ad2565b146117795760075f8581526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b60065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154600190039190508190555060065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8154600101919050819055507c020000000000000000000000000000000000000000000000000000000060a042901b61183a87611ad2565b171760055f8681526020019081526020015f20819055505f7c02000000000000000000000000000000000000000000000000000000008416036118b9575f6001850190505f60055f8381526020019081526020015f2054036118b75760045481146118b6578360055f8381526020019081526020015f20819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119218686866001611b35565b505050505050565b5f67ffffffffffffffff604060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054901c169050919050565b5f60045490505f82036119bc576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160406001901b17820260065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254019250508190555060e1611a1e60018414611dad565b901b60a042901b611a2e85611ad2565b171760055f8381526020019081526020015f20819055505f8190505f83820190505b818060010192508573ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4808210611a5057816004819055505050611acd5f848385611b35565b505050565b5f819050919050565b60606080604051019050806040528082600183039250600a81066030018353600a810490505b8015611b2157600183039250600a81066030018353600a81049050611b01565b508181036020830392508083525050919050565b5f33905060095f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16158015611b9957506032611b9682610e4e565b10155b15611c5457600160095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600a81908060018154018082558091505060019003905f5260205f20015f9091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60095f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015611cb257506032611cb082610e4e565b105b15611da6575f60095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f5f90505b600a80549050811015611da4578173ffffffffffffffffffffffffffffffffffffffff16600a8281548110611d4857611d47611f0d565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603611d9757611d96600a82611db6565b5b8080600101915050611d10565b505b5050505050565b5f819050919050565b80828054905011611dfc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df390612e74565b60405180910390fd5b5f8190505b60018380549050611e1291906125f1565b811015611ec55782600182611e279190612a52565b81548110611e3857611e37611f0d565b5b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838281548110611e7357611e72611f0d565b5b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508080600101915050611e01565b5081805480611ed757611ed6612e92565b5b600190038181905f5260205f20015f6101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905590555050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f7f81611f4b565b8114611f89575f5ffd5b50565b5f81359050611f9a81611f76565b92915050565b5f60208284031215611fb557611fb4611f43565b5b5f611fc284828501611f8c565b91505092915050565b5f8115159050919050565b611fdf81611fcb565b82525050565b5f602082019050611ff85f830184611fd6565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61204082611ffe565b61204a8185612008565b935061205a818560208601612018565b61206381612026565b840191505092915050565b5f6020820190508181035f8301526120868184612036565b905092915050565b5f819050919050565b6120a08161208e565b81146120aa575f5ffd5b50565b5f813590506120bb81612097565b92915050565b5f602082840312156120d6576120d5611f43565b5b5f6120e3848285016120ad565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f612115826120ec565b9050919050565b6121258161210b565b82525050565b5f60208201905061213e5f83018461211c565b92915050565b61214d8161210b565b8114612157575f5ffd5b50565b5f8135905061216881612144565b92915050565b5f5f6040838503121561218457612183611f43565b5b5f6121918582860161215a565b92505060206121a2858286016120ad565b9150509250929050565b6121b58161208e565b82525050565b5f6020820190506121ce5f8301846121ac565b92915050565b5f5f5f606084860312156121eb576121ea611f43565b5b5f6121f88682870161215a565b93505060206122098682870161215a565b925050604061221a868287016120ad565b9150509250925092565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61226282612026565b810181811067ffffffffffffffff821117156122815761228061222c565b5b80604052505050565b5f612293611f3a565b905061229f8282612259565b919050565b5f67ffffffffffffffff8211156122be576122bd61222c565b5b6122c782612026565b9050602081019050919050565b828183375f83830152505050565b5f6122f46122ef846122a4565b61228a565b9050828152602081018484840111156123105761230f612228565b5b61231b8482856122d4565b509392505050565b5f82601f83011261233757612336612224565b5b81356123478482602086016122e2565b91505092915050565b5f6020828403121561236557612364611f43565b5b5f82013567ffffffffffffffff81111561238257612381611f47565b5b61238e84828501612323565b91505092915050565b5f5f604083850312156123ad576123ac611f43565b5b5f6123ba858286016120ad565b92505060206123cb858286016120ad565b9150509250929050565b5f602082840312156123ea576123e9611f43565b5b5f6123f78482850161215a565b91505092915050565b61240981611fcb565b8114612413575f5ffd5b50565b5f8135905061242481612400565b92915050565b5f5f604083850312156124405761243f611f43565b5b5f61244d8582860161215a565b925050602061245e85828601612416565b9150509250929050565b5f67ffffffffffffffff8211156124825761248161222c565b5b61248b82612026565b9050602081019050919050565b5f6124aa6124a584612468565b61228a565b9050828152602081018484840111156124c6576124c5612228565b5b6124d18482856122d4565b509392505050565b5f82601f8301126124ed576124ec612224565b5b81356124fd848260208601612498565b91505092915050565b5f5f5f5f6080858703121561251e5761251d611f43565b5b5f61252b8782880161215a565b945050602061253c8782880161215a565b935050604061254d878288016120ad565b925050606085013567ffffffffffffffff81111561256e5761256d611f47565b5b61257a878288016124d9565b91505092959194509250565b5f5f6040838503121561259c5761259b611f43565b5b5f6125a98582860161215a565b92505060206125ba8582860161215a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6125fb8261208e565b91506126068361208e565b925082820390508181111561261e5761261d6125c4565b5b92915050565b5f6060820190506126375f8301866121ac565b612644602083018561211c565b61265160408301846121ac565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126908261208e565b915061269b8361208e565b9250826126ab576126aa612659565b5b828206905092915050565b7f6e6f74204f776e657200000000000000000000000000000000000000000000005f82015250565b5f6126ea600983612008565b91506126f5826126b6565b602082019050919050565b5f6020820190508181035f830152612717816126de565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061276257607f821691505b6020821081036127755761277461271e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026127d77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261279c565b6127e1868361279c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61281c6128176128128461208e565b6127f9565b61208e565b9050919050565b5f819050919050565b61283583612802565b61284961284182612823565b8484546127a8565b825550505050565b5f5f905090565b612860612851565b61286b81848461282c565b505050565b5b8181101561288e576128835f82612858565b600181019050612871565b5050565b601f8211156128d3576128a48161277b565b6128ad8461278d565b810160208510156128bc578190505b6128d06128c88561278d565b830182612870565b50505b505050565b5f82821c905092915050565b5f6128f35f19846008026128d8565b1980831691505092915050565b5f61290b83836128e4565b9150826002028217905092915050565b61292482611ffe565b67ffffffffffffffff81111561293d5761293c61222c565b5b612947825461274b565b612952828285612892565b5f60209050601f831160018114612983575f8415612971578287015190505b61297b8582612900565b8655506129e2565b601f1984166129918661277b565b5f5b828110156129b857848901518255600182019150602085019450602081019050612993565b868310156129d557848901516129d1601f8916826128e4565b8355505b6001600288020188555050505b505050505050565b7f6e6f2053637269707400000000000000000000000000000000000000000000005f82015250565b5f612a1e600983612008565b9150612a29826129ea565b602082019050919050565b5f6020820190508181035f830152612a4b81612a12565b9050919050565b5f612a5c8261208e565b9150612a678361208e565b9250828201905080821115612a7f57612a7e6125c4565b5b92915050565b7f467265656d696e7420536f6c64204f75740000000000000000000000000000005f82015250565b5f612ab9601183612008565b9150612ac482612a85565b602082019050919050565b5f6020820190508181035f830152612ae681612aad565b9050919050565b7f4d6178207065722057616c6c65740000000000000000000000000000000000005f82015250565b5f612b21600e83612008565b9150612b2c82612aed565b602082019050919050565b5f6020820190508181035f830152612b4e81612b15565b9050919050565b5f612b5f8261208e565b9150612b6a8361208e565b9250828202612b788161208e565b91508282048414831517612b8f57612b8e6125c4565b5b5092915050565b7f536f6c64204f75740000000000000000000000000000000000000000000000005f82015250565b5f612bca600883612008565b9150612bd582612b96565b602082019050919050565b5f6020820190508181035f830152612bf781612bbe565b9050919050565b7f56616c756520746f204c6f7700000000000000000000000000000000000000005f82015250565b5f612c32600c83612008565b9150612c3d82612bfe565b602082019050919050565b5f6020820190508181035f830152612c5f81612c26565b9050919050565b7f55736564206f6e6c79204f6e63650000000000000000000000000000000000005f82015250565b5f612c9a600e83612008565b9150612ca582612c66565b602082019050919050565b5f6020820190508181035f830152612cc781612c8e565b9050919050565b5f81905092915050565b7f697066733a2f2f000000000000000000000000000000000000000000000000005f82015250565b5f612d0c600783612cce565b9150612d1782612cd8565b600782019050919050565b5f612d2c82611ffe565b612d368185612cce565b9350612d46818560208601612018565b80840191505092915050565b7f2f000000000000000000000000000000000000000000000000000000000000005f82015250565b5f612d86600183612cce565b9150612d9182612d52565b600182019050919050565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000005f82015250565b5f612dd0600583612cce565b9150612ddb82612d9c565b600582019050919050565b5f612df082612d00565b9150612dfc8285612d22565b9150612e0782612d7a565b9150612e138284612d22565b9150612e1e82612dc4565b91508190509392505050565b7f4f7574206f6620626f756e6473000000000000000000000000000000000000005f82015250565b5f612e5e600d83612008565b9150612e6982612e2a565b602082019050919050565b5f6020820190508181035f830152612e8b81612e52565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea264697066735822122065b107538e35ec17f2129369a3c4d060cf5232a740ed4c81d72cd2f744db468b64736f6c634300081b0033516d55743575344d326854344c44505679624a7263467773637365776737555a71326437484845353647414b7031