[ { "inputs": [ { "internalType": "string", "name": "baseURI_", "type": "string" }, { "internalType": "address", "name": "_layerZeroEndpoint", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "indexed": false, "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "indexed": false, "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "indexed": false, "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "MessageFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "_owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "donate", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "failedMessages", "outputs": [ { "internalType": "uint256", "name": "payloadLength", "type": "uint256" }, { "internalType": "bytes32", "name": "payloadHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "lzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "numTokens", "type": "uint8" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "onLzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_srcChainId", "type": "uint16" }, { "internalType": "bytes", "name": "_srcAddress", "type": "bytes" }, { "internalType": "uint64", "name": "_nonce", "type": "uint64" }, { "internalType": "bytes", "name": "_payload", "type": "bytes" } ], "name": "retryMessage", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "URI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newVal", "type": "uint256" } ], "name": "setGasForDestinationLzReceive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "bytes", "name": "_trustedRemote", "type": "bytes" } ], "name": "setTrustedRemote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "_chainId", "type": "uint16" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "traverseChains", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "trustedRemoteLookup", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amt", "type": "uint256" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6080604052610258600c55610c1c600d5562055730600e553480156200002457600080fd5b50604051620052eb380380620052eb83398181016040528101906200004a91906200052b565b6040518060400160405280600d81526020017f6d6f6f6479206b697474656e73000000000000000000000000000000000000008152506040518060400160405280600481526020017f6b746e7300000000000000000000000000000000000000000000000000000000815250620000d6620000ca620001ad60201b60201c565b620001b560201b60201c565b8160019080519060200190620000ee92919062000279565b5080600290805190602001906200010792919062000279565b50505033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600b9080519060200190620001a492919062000279565b505050620005f6565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200028790620005c0565b90600052602060002090601f016020900481019282620002ab5760008555620002f7565b82601f10620002c657805160ff1916838001178555620002f7565b82800160010185558215620002f7579182015b82811115620002f6578251825591602001919060010190620002d9565b5b5090506200030691906200030a565b5090565b5b80821115620003255760008160009055506001016200030b565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620003928262000347565b810181811067ffffffffffffffff82111715620003b457620003b362000358565b5b80604052505050565b6000620003c962000329565b9050620003d7828262000387565b919050565b600067ffffffffffffffff821115620003fa57620003f962000358565b5b620004058262000347565b9050602081019050919050565b60005b838110156200043257808201518184015260208101905062000415565b8381111562000442576000848401525b50505050565b60006200045f6200045984620003dc565b620003bd565b9050828152602081018484840111156200047e576200047d62000342565b5b6200048b84828562000412565b509392505050565b600082601f830112620004ab57620004aa6200033d565b5b8151620004bd84826020860162000448565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004f382620004c6565b9050919050565b6200050581620004e6565b81146200051157600080fd5b50565b6000815190506200052581620004fa565b92915050565b6000806040838503121562000545576200054462000333565b5b600083015167ffffffffffffffff81111562000566576200056562000338565b5b620005748582860162000493565b9250506020620005878582860162000514565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620005d957607f821691505b60208210811415620005f057620005ef62000591565b5b50919050565b614ce580620006066000396000f3fe6080604052600436106101c15760003560e01c80637533d788116100f7578063b88d4fde11610095578063e985e9c511610064578063e985e9c514610623578063eb8d72b714610660578063ed88c68e14610689578063f2fde38b14610693576101c1565b8063b88d4fde14610585578063c87b56dd146105ae578063cf89fa03146105eb578063d1deba1f14610607576101c1565b8063943fb872116100d1578063943fb872146104dd57806395d89b4114610506578063a22cb46514610531578063b2bdfa7b1461055a576101c1565b80637533d788146104375780638da5cb5b146104745780638ee749121461049f576101c1565b80632e1a7d4d116101645780636352211e1161013e5780636352211e1461038a5780636ecd2306146103c757806370a08231146103e3578063715018a614610420576101c1565b80632e1a7d4d1461030f57806342842e0e1461033857806355f804b314610361576101c1565b8063081812fc116101a0578063081812fc14610257578063095ea7b3146102945780631c37a822146102bd57806323b872dd146102e6576101c1565b80621d3567146101c657806301ffc9a7146101ef57806306fdde031461022c575b600080fd5b3480156101d257600080fd5b506101ed60048036038101906101e89190612d2e565b6106bc565b005b3480156101fb57600080fd5b5061021660048036038101906102119190612e25565b6108fe565b6040516102239190612e6d565b60405180910390f35b34801561023857600080fd5b506102416109e0565b60405161024e9190612f10565b60405180910390f35b34801561026357600080fd5b5061027e60048036038101906102799190612f68565b610a72565b60405161028b9190612fd6565b60405180910390f35b3480156102a057600080fd5b506102bb60048036038101906102b6919061301d565b610af7565b005b3480156102c957600080fd5b506102e460048036038101906102df9190612d2e565b610c0f565b005b3480156102f257600080fd5b5061030d6004803603810190610308919061305d565b610c8f565b005b34801561031b57600080fd5b5061033660048036038101906103319190612f68565b610cef565b005b34801561034457600080fd5b5061035f600480360381019061035a919061305d565b610e3d565b005b34801561036d57600080fd5b5061038860048036038101906103839190613151565b610e5d565b005b34801561039657600080fd5b506103b160048036038101906103ac9190612f68565b610ef3565b6040516103be9190612fd6565b60405180910390f35b6103e160048036038101906103dc91906131d3565b610fa5565b005b3480156103ef57600080fd5b5061040a60048036038101906104059190613200565b61108c565b604051610417919061323c565b60405180910390f35b34801561042c57600080fd5b50610435611144565b005b34801561044357600080fd5b5061045e60048036038101906104599190613257565b6111cc565b60405161046b91906132d9565b60405180910390f35b34801561048057600080fd5b5061048961126c565b6040516104969190612fd6565b60405180910390f35b3480156104ab57600080fd5b506104c660048036038101906104c191906132fb565b611295565b6040516104d4929190613383565b60405180910390f35b3480156104e957600080fd5b5061050460048036038101906104ff9190612f68565b6112e9565b005b34801561051257600080fd5b5061051b61136f565b6040516105289190612f10565b60405180910390f35b34801561053d57600080fd5b50610558600480360381019061055391906133d8565b611401565b005b34801561056657600080fd5b5061056f611417565b60405161057c9190612fd6565b60405180910390f35b34801561059157600080fd5b506105ac60048036038101906105a79190613418565b61143d565b005b3480156105ba57600080fd5b506105d560048036038101906105d09190612f68565b61149f565b6040516105e29190612f10565b60405180910390f35b6106056004803603810190610600919061349b565b611546565b005b610621600480360381019061061c919061353b565b61182a565b005b34801561062f57600080fd5b5061064a600480360381019061064591906135df565b6119ca565b6040516106579190612e6d565b60405180910390f35b34801561066c57600080fd5b506106876004803603810190610682919061361f565b611a5e565b005b610691611b0a565b005b34801561069f57600080fd5b506106ba60048036038101906106b59190613200565b611b0c565b005b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461071657600080fd5b600960008561ffff1661ffff168152602001908152602001600020805461073c906136ae565b905083511480156107825750600960008561ffff1661ffff168152602001908152602001600020604051610770919061377f565b60405180910390208380519060200120145b6107c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b890613808565b60405180910390fd5b3073ffffffffffffffffffffffffffffffffffffffff16631c37a822858585856040518563ffffffff1660e01b81526004016108009493929190613846565b600060405180830381600087803b15801561081a57600080fd5b505af192505050801561082b575060015b6108f7576040518060400160405280825181526020018280519060200120815250600860008661ffff1661ffff1681526020019081526020016000208460405161087591906138ca565b908152602001604051809103902060008467ffffffffffffffff16815260200190815260200160002060008201518160000155602082015181600101559050507fe6f254030bcb01ffd20558175c13fcaed6d1520be7becee4c961b65f79243b0d848484846040516108ea9493929190613846565b60405180910390a16108f8565b5b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109c957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109d957506109d882611c04565b5b9050919050565b6060600180546109ef906136ae565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1b906136ae565b8015610a685780601f10610a3d57610100808354040283529160200191610a68565b820191906000526020600020905b815481529060010190602001808311610a4b57829003601f168201915b5050505050905090565b6000610a7d82611c6e565b610abc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ab390613953565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610b0282610ef3565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6a906139e5565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b92611cda565b73ffffffffffffffffffffffffffffffffffffffff161480610bc15750610bc081610bbb611cda565b6119ca565b5b610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf790613a77565b60405180910390fd5b610c0a8383611ce2565b505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7490613b09565b60405180910390fd5b610c8984848484611d9b565b50505050565b610ca0610c9a611cda565b82611dc8565b610cdf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cd690613b9b565b60405180910390fd5b610cea838383611ea6565b505050565b610cf7611cda565b73ffffffffffffffffffffffffffffffffffffffff16610d1561126c565b73ffffffffffffffffffffffffffffffffffffffff1614610d6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6290613c07565b60405180910390fd5b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610db390613c4d565b60006040518083038185875af1925050503d8060008114610df0576040519150601f19603f3d011682016040523d82523d6000602084013e610df5565b606091505b5050905080610e39576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3090613cd4565b60405180910390fd5b5050565b610e588383836040518060200160405280600081525061143d565b505050565b610e65611cda565b73ffffffffffffffffffffffffffffffffffffffff16610e8361126c565b73ffffffffffffffffffffffffffffffffffffffff1614610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed090613c07565b60405180910390fd5b80600b9080519060200190610eef929190612a31565b5050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610f9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9390613d66565b60405180910390fd5b80915050919050565b60038160ff1610610feb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fe290613df8565b60405180910390fd5b600d548160ff16600c54610fff9190613e47565b1115611040576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103790613f0f565b60405180910390fd5b61105e33600c6000815461105390613f2f565b919050819055612102565b60028160ff1614156110895761108833600c6000815461107d90613f2f565b919050819055612102565b5b50565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f490613fea565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61114c611cda565b73ffffffffffffffffffffffffffffffffffffffff1661116a61126c565b73ffffffffffffffffffffffffffffffffffffffff16146111c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b790613c07565b60405180910390fd5b6111ca6000612120565b565b600960205280600052604060002060009150905080546111eb906136ae565b80601f0160208091040260200160405190810160405280929190818152602001828054611217906136ae565b80156112645780601f1061123957610100808354040283529160200191611264565b820191906000526020600020905b81548152906001019060200180831161124757829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60086020528260005260406000208280516020810182018051848252602083016020850120818352809550505050505060205280600052604060002060009250925050508060000154908060010154905082565b6112f1611cda565b73ffffffffffffffffffffffffffffffffffffffff1661130f61126c565b73ffffffffffffffffffffffffffffffffffffffff1614611365576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135c90613c07565b60405180910390fd5b80600e8190555050565b60606002805461137e906136ae565b80601f01602080910402602001604051908101604052809291908181526020018280546113aa906136ae565b80156113f75780601f106113cc576101008083540402835291602001916113f7565b820191906000526020600020905b8154815290600101906020018083116113da57829003601f168201915b5050505050905090565b61141361140c611cda565b83836121e4565b5050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61144e611448611cda565b83611dc8565b61148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148490613b9b565b60405180910390fd5b61149984848484612351565b50505050565b60606114aa82611c6e565b6114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e09061407c565b60405180910390fd5b60006114f36123ad565b90506000815111611513576040518060200160405280600081525061153e565b8061151d8461243f565b60405160200161152e9291906140d8565b6040516020818303038152906040525b915050919050565b61154f81610ef3565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b39061416e565b60405180910390fd5b6000600960008461ffff1661ffff16815260200190815260200160002080546115e4906136ae565b905011611626576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161d90614200565b60405180910390fd5b61162f816125a0565b60003382604051602001611644929190614220565b6040516020818303038152906040529050600060019050600081600e546040516020016116729291906142a0565b60405160208183030381529060405290506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340a7bb108730876000876040518663ffffffff1660e01b81526004016116e99594939291906142cc565b6040805180830381865afa158015611705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117299190614342565b5090508034101561176f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117669061441a565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c58031003488600960008b61ffff1661ffff16815260200190815260200160002088336000896040518863ffffffff1660e01b81526004016117f0969594939291906144db565b6000604051808303818588803b15801561180957600080fd5b505af115801561181d573d6000803e3d6000fd5b5050505050505050505050565b6000600860008761ffff1661ffff1681526020019081526020016000208560405161185591906138ca565b908152602001604051809103902060008567ffffffffffffffff16815260200190815260200160002090506000801b816001015414156118ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c1906145c3565b60405180910390fd5b8060000154838390501480156118fa5750806001015483836040516118f0929190614608565b6040518091039020145b611939576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119309061466d565b60405180910390fd5b600081600001819055506000801b81600101819055503073ffffffffffffffffffffffffffffffffffffffff16631c37a82287878787876040518663ffffffff1660e01b81526004016119909594939291906146ba565b600060405180830381600087803b1580156119aa57600080fd5b505af11580156119be573d6000803e3d6000fd5b50505050505050505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611a66611cda565b73ffffffffffffffffffffffffffffffffffffffff16611a8461126c565b73ffffffffffffffffffffffffffffffffffffffff1614611ada576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad190613c07565b60405180910390fd5b8181600960008661ffff1661ffff1681526020019081526020016000209190611b04929190612ab7565b50505050565b565b611b14611cda565b73ffffffffffffffffffffffffffffffffffffffff16611b3261126c565b73ffffffffffffffffffffffffffffffffffffffff1614611b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b7f90613c07565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bef90614781565b60405180910390fd5b611c0181612120565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611d5583610ef3565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008082806020019051810190611db291906147cd565b91509150611dc08282612102565b505050505050565b6000611dd382611c6e565b611e12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e099061487f565b60405180910390fd5b6000611e1d83610ef3565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e8c57508373ffffffffffffffffffffffffffffffffffffffff16611e7484610a72565b73ffffffffffffffffffffffffffffffffffffffff16145b80611e9d5750611e9c81856119ca565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611ec682610ef3565b73ffffffffffffffffffffffffffffffffffffffff1614611f1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f1390614911565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611f8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f83906149a3565b60405180910390fd5b611f978383836126b1565b611fa2600082611ce2565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ff291906149c3565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120499190613e47565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b61211c8282604051806020016040528060008152506126b6565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612253576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161224a90614a43565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516123449190612e6d565b60405180910390a3505050565b61235c848484611ea6565b61236884848484612711565b6123a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239e90614ad5565b60405180910390fd5b50505050565b6060600b80546123bc906136ae565b80601f01602080910402602001604051908101604052809291908181526020018280546123e8906136ae565b80156124355780601f1061240a57610100808354040283529160200191612435565b820191906000526020600020905b81548152906001019060200180831161241857829003601f168201915b5050505050905090565b60606000821415612487576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061259b565b600082905060005b600082146124b95780806124a290613f2f565b915050600a826124b29190614b24565b915061248f565b60008167ffffffffffffffff8111156124d5576124d4612bc3565b5b6040519080825280601f01601f1916602001820160405280156125075781602001600182028036833780820191505090505b5090505b600085146125945760018261252091906149c3565b9150600a8561252f9190614b55565b603061253b9190613e47565b60f81b81838151811061255157612550614b86565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561258d9190614b24565b945061250b565b8093505050505b919050565b60006125ab82610ef3565b90506125b9816000846126b1565b6125c4600083611ce2565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461261491906149c3565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b505050565b6126c08383612899565b6126cd6000848484612711565b61270c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270390614ad5565b60405180910390fd5b505050565b60006127328473ffffffffffffffffffffffffffffffffffffffff16612a1e565b1561288c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261275b611cda565b8786866040518563ffffffff1660e01b815260040161277d9493929190614bb5565b6020604051808303816000875af19250505080156127b957506040513d601f19601f820116820180604052508101906127b69190614c16565b60015b61283c573d80600081146127e9576040519150601f19603f3d011682016040523d82523d6000602084013e6127ee565b606091505b50600081511415612834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282b90614ad5565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612891565b600190505b949350505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290090614c8f565b60405180910390fd5b612915600083836126b1565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546129659190613e47565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b828054612a3d906136ae565b90600052602060002090601f016020900481019282612a5f5760008555612aa6565b82601f10612a7857805160ff1916838001178555612aa6565b82800160010185558215612aa6579182015b82811115612aa5578251825591602001919060010190612a8a565b5b509050612ab39190612b3d565b5090565b828054612ac3906136ae565b90600052602060002090601f016020900481019282612ae55760008555612b2c565b82601f10612afe57803560ff1916838001178555612b2c565b82800160010185558215612b2c579182015b82811115612b2b578235825591602001919060010190612b10565b5b509050612b399190612b3d565b5090565b5b80821115612b56576000816000905550600101612b3e565b5090565b6000604051905090565b600080fd5b600080fd5b600061ffff82169050919050565b612b8581612b6e565b8114612b9057600080fd5b50565b600081359050612ba281612b7c565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612bfb82612bb2565b810181811067ffffffffffffffff82111715612c1a57612c19612bc3565b5b80604052505050565b6000612c2d612b5a565b9050612c398282612bf2565b919050565b600067ffffffffffffffff821115612c5957612c58612bc3565b5b612c6282612bb2565b9050602081019050919050565b82818337600083830152505050565b6000612c91612c8c84612c3e565b612c23565b905082815260208101848484011115612cad57612cac612bad565b5b612cb8848285612c6f565b509392505050565b600082601f830112612cd557612cd4612ba8565b5b8135612ce5848260208601612c7e565b91505092915050565b600067ffffffffffffffff82169050919050565b612d0b81612cee565b8114612d1657600080fd5b50565b600081359050612d2881612d02565b92915050565b60008060008060808587031215612d4857612d47612b64565b5b6000612d5687828801612b93565b945050602085013567ffffffffffffffff811115612d7757612d76612b69565b5b612d8387828801612cc0565b9350506040612d9487828801612d19565b925050606085013567ffffffffffffffff811115612db557612db4612b69565b5b612dc187828801612cc0565b91505092959194509250565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e0281612dcd565b8114612e0d57600080fd5b50565b600081359050612e1f81612df9565b92915050565b600060208284031215612e3b57612e3a612b64565b5b6000612e4984828501612e10565b91505092915050565b60008115159050919050565b612e6781612e52565b82525050565b6000602082019050612e826000830184612e5e565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ec2578082015181840152602081019050612ea7565b83811115612ed1576000848401525b50505050565b6000612ee282612e88565b612eec8185612e93565b9350612efc818560208601612ea4565b612f0581612bb2565b840191505092915050565b60006020820190508181036000830152612f2a8184612ed7565b905092915050565b6000819050919050565b612f4581612f32565b8114612f5057600080fd5b50565b600081359050612f6281612f3c565b92915050565b600060208284031215612f7e57612f7d612b64565b5b6000612f8c84828501612f53565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fc082612f95565b9050919050565b612fd081612fb5565b82525050565b6000602082019050612feb6000830184612fc7565b92915050565b612ffa81612fb5565b811461300557600080fd5b50565b60008135905061301781612ff1565b92915050565b6000806040838503121561303457613033612b64565b5b600061304285828601613008565b925050602061305385828601612f53565b9150509250929050565b60008060006060848603121561307657613075612b64565b5b600061308486828701613008565b935050602061309586828701613008565b92505060406130a686828701612f53565b9150509250925092565b600067ffffffffffffffff8211156130cb576130ca612bc3565b5b6130d482612bb2565b9050602081019050919050565b60006130f46130ef846130b0565b612c23565b9050828152602081018484840111156131105761310f612bad565b5b61311b848285612c6f565b509392505050565b600082601f83011261313857613137612ba8565b5b81356131488482602086016130e1565b91505092915050565b60006020828403121561316757613166612b64565b5b600082013567ffffffffffffffff81111561318557613184612b69565b5b61319184828501613123565b91505092915050565b600060ff82169050919050565b6131b08161319a565b81146131bb57600080fd5b50565b6000813590506131cd816131a7565b92915050565b6000602082840312156131e9576131e8612b64565b5b60006131f7848285016131be565b91505092915050565b60006020828403121561321657613215612b64565b5b600061322484828501613008565b91505092915050565b61323681612f32565b82525050565b6000602082019050613251600083018461322d565b92915050565b60006020828403121561326d5761326c612b64565b5b600061327b84828501612b93565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60006132ab82613284565b6132b5818561328f565b93506132c5818560208601612ea4565b6132ce81612bb2565b840191505092915050565b600060208201905081810360008301526132f381846132a0565b905092915050565b60008060006060848603121561331457613313612b64565b5b600061332286828701612b93565b935050602084013567ffffffffffffffff81111561334357613342612b69565b5b61334f86828701612cc0565b925050604061336086828701612f53565b9150509250925092565b6000819050919050565b61337d8161336a565b82525050565b6000604082019050613398600083018561322d565b6133a56020830184613374565b9392505050565b6133b581612e52565b81146133c057600080fd5b50565b6000813590506133d2816133ac565b92915050565b600080604083850312156133ef576133ee612b64565b5b60006133fd85828601613008565b925050602061340e858286016133c3565b9150509250929050565b6000806000806080858703121561343257613431612b64565b5b600061344087828801613008565b945050602061345187828801613008565b935050604061346287828801612f53565b925050606085013567ffffffffffffffff81111561348357613482612b69565b5b61348f87828801612cc0565b91505092959194509250565b600080604083850312156134b2576134b1612b64565b5b60006134c085828601612b93565b92505060206134d185828601612f53565b9150509250929050565b600080fd5b600080fd5b60008083601f8401126134fb576134fa612ba8565b5b8235905067ffffffffffffffff811115613518576135176134db565b5b602083019150836001820283011115613534576135336134e0565b5b9250929050565b60008060008060006080868803121561355757613556612b64565b5b600061356588828901612b93565b955050602086013567ffffffffffffffff81111561358657613585612b69565b5b61359288828901612cc0565b94505060406135a388828901612d19565b935050606086013567ffffffffffffffff8111156135c4576135c3612b69565b5b6135d0888289016134e5565b92509250509295509295909350565b600080604083850312156135f6576135f5612b64565b5b600061360485828601613008565b925050602061361585828601613008565b9150509250929050565b60008060006040848603121561363857613637612b64565b5b600061364686828701612b93565b935050602084013567ffffffffffffffff81111561366757613666612b69565b5b613673868287016134e5565b92509250509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806136c657607f821691505b602082108114156136da576136d961367f565b5b50919050565b600081905092915050565b60008190508160005260206000209050919050565b6000815461370d816136ae565b61371781866136e0565b94506001821660008114613732576001811461374357613776565b60ff19831686528186019350613776565b61374c856136eb565b60005b8381101561376e5781548189015260018201915060208101905061374f565b838801955050505b50505092915050565b600061378b8284613700565b915081905092915050565b7f4e6f6e626c6f636b696e6752656365697665723a20696e76616c696420736f7560008201527f7263652073656e64696e6720636f6e7472616374000000000000000000000000602082015250565b60006137f2603483612e93565b91506137fd82613796565b604082019050919050565b60006020820190508181036000830152613821816137e5565b9050919050565b61383181612b6e565b82525050565b61384081612cee565b82525050565b600060808201905061385b6000830187613828565b818103602083015261386d81866132a0565b905061387c6040830185613837565b818103606083015261388e81846132a0565b905095945050505050565b60006138a482613284565b6138ae81856136e0565b93506138be818560208601612ea4565b80840191505092915050565b60006138d68284613899565b915081905092915050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061393d602c83612e93565b9150613948826138e1565b604082019050919050565b6000602082019050818103600083015261396c81613930565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006139cf602183612e93565b91506139da82613973565b604082019050919050565b600060208201905081810360008301526139fe816139c2565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613a61603883612e93565b9150613a6c82613a05565b604082019050919050565b60006020820190508181036000830152613a9081613a54565b9050919050565b7f4e6f6e626c6f636b696e6752656365697665723a2063616c6c6572206d75737460008201527f206265204272696467652e000000000000000000000000000000000000000000602082015250565b6000613af3602b83612e93565b9150613afe82613a97565b604082019050919050565b60006020820190508181036000830152613b2281613ae6565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613b85603183612e93565b9150613b9082613b29565b604082019050919050565b60006020820190508181036000830152613bb481613b78565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613bf1602083612e93565b9150613bfc82613bbb565b602082019050919050565b60006020820190508181036000830152613c2081613be4565b9050919050565b50565b6000613c376000836136e0565b9150613c4282613c27565b600082019050919050565b6000613c5882613c2a565b9150819050919050565b7f6d6f6f6479206b697474656e733a204661696c656420746f207769746864726160008201527f7720457468657200000000000000000000000000000000000000000000000000602082015250565b6000613cbe602783612e93565b9150613cc982613c62565b604082019050919050565b60006020820190508181036000830152613ced81613cb1565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613d50602983612e93565b9150613d5b82613cf4565b604082019050919050565b60006020820190508181036000830152613d7f81613d43565b9050919050565b7f6d6f6f6479206b697474656e733a204d61782032204e4654732070657220747260008201527f616e73616374696f6e0000000000000000000000000000000000000000000000602082015250565b6000613de2602983612e93565b9150613ded82613d86565b604082019050919050565b60006020820190508181036000830152613e1181613dd5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613e5282612f32565b9150613e5d83612f32565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613e9257613e91613e18565b5b828201905092915050565b7f6d6f6f6479206b697474656e733a204d696e742065786365656473207375707060008201527f6c79000000000000000000000000000000000000000000000000000000000000602082015250565b6000613ef9602283612e93565b9150613f0482613e9d565b604082019050919050565b60006020820190508181036000830152613f2881613eec565b9050919050565b6000613f3a82612f32565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613f6d57613f6c613e18565b5b600182019050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000613fd4602a83612e93565b9150613fdf82613f78565b604082019050919050565b6000602082019050818103600083015261400381613fc7565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614066602f83612e93565b91506140718261400a565b604082019050919050565b6000602082019050818103600083015261409581614059565b9050919050565b600081905092915050565b60006140b282612e88565b6140bc818561409c565b93506140cc818560208601612ea4565b80840191505092915050565b60006140e482856140a7565b91506140f082846140a7565b91508190509392505050565b7f596f75206d757374206f776e2074686520746f6b656e20746f2074726176657260008201527f7365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614158602283612e93565b9150614163826140fc565b604082019050919050565b600060208201905081810360008301526141878161414b565b9050919050565b7f5468697320636861696e2069732063757272656e746c7920756e617661696c6160008201527f626c6520666f722074726176656c000000000000000000000000000000000000602082015250565b60006141ea602e83612e93565b91506141f58261418e565b604082019050919050565b60006020820190508181036000830152614219816141dd565b9050919050565b60006040820190506142356000830185612fc7565b614242602083018461322d565b9392505050565b60008160f01b9050919050565b600061426182614249565b9050919050565b61427961427482612b6e565b614256565b82525050565b6000819050919050565b61429a61429582612f32565b61427f565b82525050565b60006142ac8285614268565b6002820191506142bc8284614289565b6020820191508190509392505050565b600060a0820190506142e16000830188613828565b6142ee6020830187612fc7565b818103604083015261430081866132a0565b905061430f6060830185612e5e565b818103608083015261432181846132a0565b90509695505050505050565b60008151905061433c81612f3c565b92915050565b6000806040838503121561435957614358612b64565b5b60006143678582860161432d565b92505060206143788582860161432d565b9150509250929050565b7f6d6f6f6479206b697474656e733a206d73672e76616c7565206e6f7420656e6f60008201527f75676820746f20636f766572206d6573736167654665652e2053656e6420676160208201527f7320666f72206d65737361676520666565730000000000000000000000000000604082015250565b6000614404605283612e93565b915061440f82614382565b606082019050919050565b60006020820190508181036000830152614433816143f7565b9050919050565b60008154614447816136ae565b614451818661328f565b9450600182166000811461446c576001811461447e576144b1565b60ff19831686526020860193506144b1565b614487856136eb565b60005b838110156144a95781548189015260018201915060208101905061448a565b808801955050505b50505092915050565b60006144c582612f95565b9050919050565b6144d5816144ba565b82525050565b600060c0820190506144f06000830189613828565b8181036020830152614502818861443a565b9050818103604083015261451681876132a0565b905061452560608301866144cc565b6145326080830185612fc7565b81810360a083015261454481846132a0565b9050979650505050505050565b7f4e6f6e626c6f636b696e6752656365697665723a206e6f2073746f726564206d60008201527f6573736167650000000000000000000000000000000000000000000000000000602082015250565b60006145ad602683612e93565b91506145b882614551565b604082019050919050565b600060208201905081810360008301526145dc816145a0565b9050919050565b60006145ef83856136e0565b93506145fc838584612c6f565b82840190509392505050565b60006146158284866145e3565b91508190509392505050565b7f4c617965725a65726f3a20696e76616c6964207061796c6f6164000000000000600082015250565b6000614657601a83612e93565b915061466282614621565b602082019050919050565b600060208201905081810360008301526146868161464a565b9050919050565b6000614699838561328f565b93506146a6838584612c6f565b6146af83612bb2565b840190509392505050565b60006080820190506146cf6000830188613828565b81810360208301526146e181876132a0565b90506146f06040830186613837565b818103606083015261470381848661468d565b90509695505050505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061476b602683612e93565b91506147768261470f565b604082019050919050565b6000602082019050818103600083015261479a8161475e565b9050919050565b6147aa816144ba565b81146147b557600080fd5b50565b6000815190506147c7816147a1565b92915050565b600080604083850312156147e4576147e3612b64565b5b60006147f2858286016147b8565b92505060206148038582860161432d565b9150509250929050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000614869602c83612e93565b91506148748261480d565b604082019050919050565b600060208201905081810360008301526148988161485c565b9050919050565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b60006148fb602983612e93565b91506149068261489f565b604082019050919050565b6000602082019050818103600083015261492a816148ee565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061498d602483612e93565b915061499882614931565b604082019050919050565b600060208201905081810360008301526149bc81614980565b9050919050565b60006149ce82612f32565b91506149d983612f32565b9250828210156149ec576149eb613e18565b5b828203905092915050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614a2d601983612e93565b9150614a38826149f7565b602082019050919050565b60006020820190508181036000830152614a5c81614a20565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614abf603283612e93565b9150614aca82614a63565b604082019050919050565b60006020820190508181036000830152614aee81614ab2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614b2f82612f32565b9150614b3a83612f32565b925082614b4a57614b49614af5565b5b828204905092915050565b6000614b6082612f32565b9150614b6b83612f32565b925082614b7b57614b7a614af5565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000608082019050614bca6000830187612fc7565b614bd76020830186612fc7565b614be4604083018561322d565b8181036060830152614bf681846132a0565b905095945050505050565b600081519050614c1081612df9565b92915050565b600060208284031215614c2c57614c2b612b64565b5b6000614c3a84828501614c01565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614c79602083612e93565b9150614c8482614c43565b602082019050919050565b60006020820190508181036000830152614ca881614c6c565b905091905056fea2646970667358221220aa9dca6fd23a4687ecfcdea89070b17f5288cc35ed4aa86552a3b719c4a64d3d64736f6c634300080b003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000003c2269811836af69497e5f486a85d7316753cf620000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d4e7a703743654d6d584569424e71757a6e36595a3857786d6833346144656378376a335437573262797973422f00000000000000000000