[ { "inputs": [], "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": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [ { "internalType": "string[]", "name": "_uris", "type": "string[]" } ], "name": "addAvailableUri", "outputs": [], "stateMutability": "nonpayable", "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getAvailableUri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getAvailableUrisCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "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": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "accessToken", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "safeMint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "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": "address", "name": "trustedSigner", "type": "address" } ], "name": "setTrustedSigner", "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": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "string", "name": "message", "type": "string" }, { "internalType": "bytes", "name": "signature", "type": "bytes" } ], "name": "verifyMessage", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" } ]
60806040523480156200001157600080fd5b506040518060400160405280601681526020017f44656c74615072696d65426f72726f77416363657373000000000000000000008152506040518060400160405280600581526020017f44502d42410000000000000000000000000000000000000000000000000000008152508181816000908051906020019062000098929190620002f9565b508060019080519060200190620000b1929190620002f9565b5050506000600b60006101000a81548160ff021916908315150217905550620000ef620000e36200015c60201b60201c565b6200016460201b60201c565b620000ff6200022a60201b60201c565b5050736c21a841d6f029243af87ef01f6772f05832144b600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620004f3565b600033905090565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200023a620002e260201b60201c565b156200027d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200027490620003fe565b60405180910390fd5b6001600b60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258620002c96200015c60201b60201c565b604051620002d89190620003e1565b60405180910390a1565b6000600b60009054906101000a900460ff16905090565b828054620003079062000465565b90600052602060002090601f0160209004810192826200032b576000855562000377565b82601f106200034657805160ff191683800117855562000377565b8280016001018555821562000377579182015b828111156200037657825182559160200191906001019062000359565b5b5090506200038691906200038a565b5090565b5b80821115620003a55760008160009055506001016200038b565b5090565b620003b48162000431565b82525050565b6000620003c960108362000420565b9150620003d682620004ca565b602082019050919050565b6000602082019050620003f86000830184620003a9565b92915050565b600060208201905081810360008301526200041981620003ba565b9050919050565b600082825260208201905092915050565b60006200043e8262000445565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600060028204905060018216806200047e57607f821691505b602082108114156200049557620004946200049b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6151af80620005036000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c806370a08231116100f9578063a22cb46511610097578063c87b56dd11610071578063c87b56dd146104df578063dbb316451461050f578063e985e9c51461053f578063f2fde38b1461056f576101c4565b8063a22cb4651461048b578063add9c076146104a7578063b88d4fde146104c3576101c4565b80638456cb59116100d35780638456cb59146104155780638595cfd71461041f5780638da5cb5b1461044f57806395d89b411461046d576101c4565b806370a08231146103ab578063715018a6146103db57806371da6a46146103e5576101c4565b80633f4ba83a116101665780634f6ccce7116101405780634f6ccce71461031157806356a1c701146103415780635c975abb1461035d5780636352211e1461037b576101c4565b80633f4ba83a146102cd57806342842e0e146102d7578063471404b7146102f3576101c4565b8063095ea7b3116101a2578063095ea7b31461024757806318160ddd1461026357806323b872dd146102815780632f745c591461029d576101c4565b806301ffc9a7146101c957806306fdde03146101f9578063081812fc14610217575b600080fd5b6101e360048036038101906101de91906138f6565b61058b565b6040516101f0919061400a565b60405180910390f35b61020161059d565b60405161020e919061406a565b60405180910390f35b610231600480360381019061022c91906139b4565b61062f565b60405161023e9190613fa3565b60405180910390f35b610261600480360381019061025c9190613879565b6106b4565b005b61026b6107cc565b604051610278919061446c565b60405180910390f35b61029b600480360381019061029691906136f4565b6107d9565b005b6102b760048036038101906102b29190613879565b610839565b6040516102c4919061446c565b60405180910390f35b6102d56108de565b005b6102f160048036038101906102ec91906136f4565b610964565b005b6102fb610984565b604051610308919061446c565b60405180910390f35b61032b600480360381019061032691906139b4565b610991565b604051610338919061446c565b60405180910390f35b61035b6004803603810190610356919061368f565b610a28565b005b610365610b58565b604051610372919061400a565b60405180910390f35b610395600480360381019061039091906139b4565b610b6f565b6040516103a29190613fa3565b60405180910390f35b6103c560048036038101906103c0919061368f565b610c21565b6040516103d2919061446c565b60405180910390f35b6103e3610cd9565b005b6103ff60048036038101906103fa91906137fa565b610d61565b60405161040c919061400a565b60405180910390f35b61041d610dc7565b005b610439600480360381019061043491906139b4565b610e4d565b604051610446919061406a565b60405180910390f35b610457610f23565b6040516104649190613fa3565b60405180910390f35b610475610f4d565b604051610482919061406a565b60405180910390f35b6104a560048036038101906104a091906137be565b610fdf565b005b6104c160048036038101906104bc91906138b5565b610ff5565b005b6104dd60048036038101906104d89190613743565b611110565b005b6104f960048036038101906104f491906139b4565b611172565b604051610506919061406a565b60405180910390f35b61052960048036038101906105249190613948565b611184565b604051610536919061446c565b60405180910390f35b610559600480360381019061055491906136b8565b61150d565b604051610566919061400a565b60405180910390f35b6105896004803603810190610584919061368f565b6115a1565b005b600061059682611699565b9050919050565b6060600080546105ac90614705565b80601f01602080910402602001604051908101604052809291908181526020018280546105d890614705565b80156106255780601f106105fa57610100808354040283529160200191610625565b820191906000526020600020905b81548152906001019060200180831161060857829003601f168201915b5050505050905090565b600061063a82611713565b610679576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106709061438c565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106bf82610b6f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610730576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107279061440c565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661074f61177f565b73ffffffffffffffffffffffffffffffffffffffff16148061077e575061077d8161077861177f565b61150d565b5b6107bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b49061426c565b60405180910390fd5b6107c78383611787565b505050565b6000600880549050905090565b6107ea6107e461177f565b82611840565b610829576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108209061442c565b60405180910390fd5b61083483838361191e565b505050565b600061084483610c21565b8210610885576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087c906140ec565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6108e661177f565b73ffffffffffffffffffffffffffffffffffffffff16610904610f23565b73ffffffffffffffffffffffffffffffffffffffff161461095a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610951906143ac565b60405180910390fd5b610962611b85565b565b61097f83838360405180602001604052806000815250611110565b505050565b6000600e80549050905090565b600061099b6107cc565b82106109dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d39061444c565b60405180910390fd5b60088281548110610a16577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b610a3061177f565b73ffffffffffffffffffffffffffffffffffffffff16610a4e610f23565b73ffffffffffffffffffffffffffffffffffffffff1614610aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9b906143ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0b9061434c565b60405180910390fd5b80600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b60009054906101000a900460ff16905090565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0f906142ac565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c899061428c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ce161177f565b73ffffffffffffffffffffffffffffffffffffffff16610cff610f23565b73ffffffffffffffffffffffffffffffffffffffff1614610d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d4c906143ac565b60405180910390fd5b610d5f6000611c27565b565b600080838051906020012090506000610d8b84610d7d84611ced565b611d1d90919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614925050509392505050565b610dcf61177f565b73ffffffffffffffffffffffffffffffffffffffff16610ded610f23565b73ffffffffffffffffffffffffffffffffffffffff1614610e43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3a906143ac565b60405180910390fd5b610e4b611d44565b565b6060600e8281548110610e89577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018054610e9e90614705565b80601f0160208091040260200160405190810160405280929190818152602001828054610eca90614705565b8015610f175780601f10610eec57610100808354040283529160200191610f17565b820191906000526020600020905b815481529060010190602001808311610efa57829003601f168201915b50505050509050919050565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610f5c90614705565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8890614705565b8015610fd55780601f10610faa57610100808354040283529160200191610fd5565b820191906000526020600020905b815481529060010190602001808311610fb857829003601f168201915b5050505050905090565b610ff1610fea61177f565b8383611de7565b5050565b610ffd61177f565b73ffffffffffffffffffffffffffffffffffffffff1661101b610f23565b73ffffffffffffffffffffffffffffffffffffffff1614611071576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611068906143ac565b60405180910390fd5b60005b815181101561110c57600e8282815181106110b8577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519080600181540180825580915050600190039060005260206000200160009091909190915090805190602001906110f89291906133c3565b50808061110490614768565b915050611074565b5050565b61112161111b61177f565b83611840565b611160576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111579061442c565b60405180910390fd5b61116c84848484611f54565b50505050565b606061117d82611fb0565b9050919050565b60006111b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484610d61565b6111f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e99061418c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600d8460405161121a9190613f42565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461129f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112969061436c565b60405180910390fd5b60006112b16112ac61177f565b610c21565b146112f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e89061420c565b60405180910390fd5b6000600e8054905011611339576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611330906143cc565b60405180910390fd5b6000611345600c612102565b9050611351600c612110565b61135961177f565b600d856040516113699190613f42565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506113c66113c061177f565b82612126565b6114ad81600e6001600e805490506113de9190614604565b81548110611415577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001805461142a90614705565b80601f016020809104026020016040519081016040528092919081815260200182805461145690614705565b80156114a35780601f10611478576101008083540402835291602001916114a3565b820191906000526020600020905b81548152906001019060200180831161148657829003601f168201915b5050505050612144565b600e8054806114e5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006115019190613449565b90558091505092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6115a961177f565b73ffffffffffffffffffffffffffffffffffffffff166115c7610f23565b73ffffffffffffffffffffffffffffffffffffffff161461161d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611614906143ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561168d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116849061412c565b60405180910390fd5b61169681611c27565b50565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061170c575061170b826121b8565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166117fa83610b6f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061184b82611713565b61188a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118819061422c565b60405180910390fd5b600061189583610b6f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061190457508373ffffffffffffffffffffffffffffffffffffffff166118ec8461062f565b73ffffffffffffffffffffffffffffffffffffffff16145b806119155750611914818561150d565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661193e82610b6f565b73ffffffffffffffffffffffffffffffffffffffff1614611994576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198b9061414c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fb906141ac565b60405180910390fd5b611a0f83838361229a565b611a1a600082611787565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611a6a9190614604565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ac1919061457d565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611b80838383612329565b505050565b611b8d610b58565b611bcc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc3906140ac565b60405180910390fd5b6000600b60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611c1061177f565b604051611c1d9190613fa3565b60405180910390a1565b6000600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081604051602001611d009190613f7d565b604051602081830303815290604052805190602001209050919050565b6000806000611d2c858561232e565b91509150611d39816123b1565b819250505092915050565b611d4c610b58565b15611d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d839061424c565b60405180910390fd5b6001600b60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611dd061177f565b604051611ddd9190613fa3565b60405180910390a1565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e4d906141cc565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f47919061400a565b60405180910390a3505050565b611f5f84848461191e565b611f6b84848484612702565b611faa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa19061410c565b60405180910390fd5b50505050565b6060611fbb82611713565b611ffa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff19061432c565b60405180910390fd5b6000600a6000848152602001908152602001600020805461201a90614705565b80601f016020809104026020016040519081016040528092919081815260200182805461204690614705565b80156120935780601f1061206857610100808354040283529160200191612093565b820191906000526020600020905b81548152906001019060200180831161207657829003601f168201915b5050505050905060006120a4612899565b90506000815114156120ba5781925050506120fd565b6000825111156120ef5780826040516020016120d7929190613f59565b604051602081830303815290604052925050506120fd565b6120f8846128b0565b925050505b919050565b600081600001549050919050565b6001816000016000828254019250508190555050565b612140828260405180602001604052806000815250612957565b5050565b61214d82611713565b61218c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612183906142cc565b60405180910390fd5b80600a600084815260200190815260200160002090805190602001906121b39291906133c3565b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061228357507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806122935750612292826129b2565b5b9050919050565b82600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612318576122d7610b58565b15612317576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230e9061424c565b60405180910390fd5b5b612323848484612a1c565b50505050565b505050565b6000806041835114156123705760008060006020860151925060408601519150606086015160001a905061236487828585612b30565b945094505050506123aa565b6040835114156123a1576000806020850151915060408501519050612396868383612c3d565b9350935050506123aa565b60006002915091505b9250929050565b600060048111156123eb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b816004811115612424577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561242f576126ff565b60016004811115612469577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8160048111156124a2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156124e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124da9061408c565b60405180910390fd5b6002600481111561251d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b816004811115612556577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415612597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258e906140cc565b60405180910390fd5b600360048111156125d1577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81600481111561260a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561264b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612642906141ec565b60405180910390fd5b600480811115612684577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8160048111156126bd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156126fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f5906142ec565b60405180910390fd5b5b50565b60006127238473ffffffffffffffffffffffffffffffffffffffff16612c9c565b1561288c578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261274c61177f565b8786866040518563ffffffff1660e01b815260040161276e9493929190613fbe565b602060405180830381600087803b15801561278857600080fd5b505af19250505080156127b957506040513d601f19601f820116820180604052508101906127b6919061391f565b60015b61283c573d80600081146127e9576040519150601f19603f3d011682016040523d82523d6000602084013e6127ee565b606091505b50600081511415612834576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161282b9061410c565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612891565b600190505b949350505050565b606060405180602001604052806000815250905090565b60606128bb82611713565b6128fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f1906143ec565b60405180910390fd5b6000612904612899565b90506000815111612924576040518060200160405280600081525061294f565b8061292e84612cbf565b60405160200161293f929190613f59565b6040516020818303038152906040525b915050919050565b6129618383612e6c565b61296e6000848484612702565b6129ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a49061410c565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b612a27838383613046565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612a6a57612a658161304b565b612aa9565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612aa857612aa78382613094565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612aec57612ae781613201565b612b2b565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612b2a57612b298282613344565b5b5b505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612b6b576000600391509150612c34565b601b8560ff1614158015612b835750601c8560ff1614155b15612b95576000600491509150612c34565b600060018787878760405160008152602001604052604051612bba9493929190614025565b6020604051602081039080840390855afa158015612bdc573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612c2b57600060019250925050612c34565b80600092509250505b94509492505050565b60008060007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60001b841690506000601b60ff8660001c901c612c80919061457d565b9050612c8e87828885612b30565b935093505050935093915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60606000821415612d07576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612e67565b600082905060005b60008214612d39578080612d2290614768565b915050600a82612d3291906145d3565b9150612d0f565b60008167ffffffffffffffff811115612d7b577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612dad5781602001600182028036833780820191505090505b5090505b60008514612e6057600182612dc69190614604565b9150600a85612dd591906147bb565b6030612de1919061457d565b60f81b818381518110612e1d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85612e5991906145d3565b9450612db1565b8093505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612edc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ed39061430c565b60405180910390fd5b612ee581611713565b15612f25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f1c9061416c565b60405180910390fd5b612f316000838361229a565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f81919061457d565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461304260008383612329565b5050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016130a184610c21565b6130ab9190614604565b9050600060076000848152602001908152602001600020549050818114613190576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506132159190614604565b905060006009600084815260200190815260200160002054905060006008838154811061326b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080600883815481106132b3577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480613328577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b600061334f83610c21565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b8280546133cf90614705565b90600052602060002090601f0160209004810192826133f15760008555613438565b82601f1061340a57805160ff1916838001178555613438565b82800160010185558215613438579182015b8281111561343757825182559160200191906001019061341c565b5b5090506134459190613489565b5090565b50805461345590614705565b6000825580601f106134675750613486565b601f0160209004906000526020600020908101906134859190613489565b5b50565b5b808211156134a257600081600090555060010161348a565b5090565b60006134b96134b4846144ac565b614487565b905080838252602082019050828560208602820111156134d857600080fd5b60005b8581101561352257813567ffffffffffffffff8111156134fa57600080fd5b8086016135078982613650565b855260208501945060208401935050506001810190506134db565b5050509392505050565b600061353f61353a846144d8565b614487565b90508281526020810184848401111561355757600080fd5b6135628482856146c3565b509392505050565b600061357d61357884614509565b614487565b90508281526020810184848401111561359557600080fd5b6135a08482856146c3565b509392505050565b6000813590506135b78161511d565b92915050565b600082601f8301126135ce57600080fd5b81356135de8482602086016134a6565b91505092915050565b6000813590506135f681615134565b92915050565b60008135905061360b8161514b565b92915050565b6000815190506136208161514b565b92915050565b600082601f83011261363757600080fd5b813561364784826020860161352c565b91505092915050565b600082601f83011261366157600080fd5b813561367184826020860161356a565b91505092915050565b60008135905061368981615162565b92915050565b6000602082840312156136a157600080fd5b60006136af848285016135a8565b91505092915050565b600080604083850312156136cb57600080fd5b60006136d9858286016135a8565b92505060206136ea858286016135a8565b9150509250929050565b60008060006060848603121561370957600080fd5b6000613717868287016135a8565b9350506020613728868287016135a8565b92505060406137398682870161367a565b9150509250925092565b6000806000806080858703121561375957600080fd5b6000613767878288016135a8565b9450506020613778878288016135a8565b93505060406137898782880161367a565b925050606085013567ffffffffffffffff8111156137a657600080fd5b6137b287828801613626565b91505092959194509250565b600080604083850312156137d157600080fd5b60006137df858286016135a8565b92505060206137f0858286016135e7565b9150509250929050565b60008060006060848603121561380f57600080fd5b600061381d868287016135a8565b935050602084013567ffffffffffffffff81111561383a57600080fd5b61384686828701613650565b925050604084013567ffffffffffffffff81111561386357600080fd5b61386f86828701613626565b9150509250925092565b6000806040838503121561388c57600080fd5b600061389a858286016135a8565b92505060206138ab8582860161367a565b9150509250929050565b6000602082840312156138c757600080fd5b600082013567ffffffffffffffff8111156138e157600080fd5b6138ed848285016135bd565b91505092915050565b60006020828403121561390857600080fd5b6000613916848285016135fc565b91505092915050565b60006020828403121561393157600080fd5b600061393f84828501613611565b91505092915050565b6000806040838503121561395b57600080fd5b600083013567ffffffffffffffff81111561397557600080fd5b61398185828601613650565b925050602083013567ffffffffffffffff81111561399e57600080fd5b6139aa85828601613626565b9150509250929050565b6000602082840312156139c657600080fd5b60006139d48482850161367a565b91505092915050565b6139e681614638565b82525050565b6139f58161464a565b82525050565b613a0481614656565b82525050565b613a1b613a1682614656565b6147b1565b82525050565b6000613a2c8261453a565b613a368185614550565b9350613a468185602086016146d2565b613a4f816148a8565b840191505092915050565b6000613a6582614545565b613a6f8185614561565b9350613a7f8185602086016146d2565b613a88816148a8565b840191505092915050565b6000613a9e82614545565b613aa88185614572565b9350613ab88185602086016146d2565b80840191505092915050565b6000613ad1601883614561565b9150613adc826148b9565b602082019050919050565b6000613af4601483614561565b9150613aff826148e2565b602082019050919050565b6000613b17601f83614561565b9150613b228261490b565b602082019050919050565b6000613b3a601c83614572565b9150613b4582614934565b601c82019050919050565b6000613b5d602b83614561565b9150613b688261495d565b604082019050919050565b6000613b80603283614561565b9150613b8b826149ac565b604082019050919050565b6000613ba3602683614561565b9150613bae826149fb565b604082019050919050565b6000613bc6602583614561565b9150613bd182614a4a565b604082019050919050565b6000613be9601c83614561565b9150613bf482614a99565b602082019050919050565b6000613c0c601583614561565b9150613c1782614ac2565b602082019050919050565b6000613c2f602483614561565b9150613c3a82614aeb565b604082019050919050565b6000613c52601983614561565b9150613c5d82614b3a565b602082019050919050565b6000613c75602283614561565b9150613c8082614b63565b604082019050919050565b6000613c98602683614561565b9150613ca382614bb2565b604082019050919050565b6000613cbb602c83614561565b9150613cc682614c01565b604082019050919050565b6000613cde601083614561565b9150613ce982614c50565b602082019050919050565b6000613d01603883614561565b9150613d0c82614c79565b604082019050919050565b6000613d24602a83614561565b9150613d2f82614cc8565b604082019050919050565b6000613d47602983614561565b9150613d5282614d17565b604082019050919050565b6000613d6a602e83614561565b9150613d7582614d66565b604082019050919050565b6000613d8d602283614561565b9150613d9882614db5565b604082019050919050565b6000613db0602083614561565b9150613dbb82614e04565b602082019050919050565b6000613dd3603183614561565b9150613dde82614e2d565b604082019050919050565b6000613df6602783614561565b9150613e0182614e7c565b604082019050919050565b6000613e19602483614561565b9150613e2482614ecb565b604082019050919050565b6000613e3c602c83614561565b9150613e4782614f1a565b604082019050919050565b6000613e5f602083614561565b9150613e6a82614f69565b602082019050919050565b6000613e82602683614561565b9150613e8d82614f92565b604082019050919050565b6000613ea5602f83614561565b9150613eb082614fe1565b604082019050919050565b6000613ec8602183614561565b9150613ed382615030565b604082019050919050565b6000613eeb603183614561565b9150613ef68261507f565b604082019050919050565b6000613f0e602c83614561565b9150613f19826150ce565b604082019050919050565b613f2d816146ac565b82525050565b613f3c816146b6565b82525050565b6000613f4e8284613a93565b915081905092915050565b6000613f658285613a93565b9150613f718284613a93565b91508190509392505050565b6000613f8882613b2d565b9150613f948284613a0a565b60208201915081905092915050565b6000602082019050613fb860008301846139dd565b92915050565b6000608082019050613fd360008301876139dd565b613fe060208301866139dd565b613fed6040830185613f24565b8181036060830152613fff8184613a21565b905095945050505050565b600060208201905061401f60008301846139ec565b92915050565b600060808201905061403a60008301876139fb565b6140476020830186613f33565b61405460408301856139fb565b61406160608301846139fb565b95945050505050565b600060208201905081810360008301526140848184613a5a565b905092915050565b600060208201905081810360008301526140a581613ac4565b9050919050565b600060208201905081810360008301526140c581613ae7565b9050919050565b600060208201905081810360008301526140e581613b0a565b9050919050565b6000602082019050818103600083015261410581613b50565b9050919050565b6000602082019050818103600083015261412581613b73565b9050919050565b6000602082019050818103600083015261414581613b96565b9050919050565b6000602082019050818103600083015261416581613bb9565b9050919050565b6000602082019050818103600083015261418581613bdc565b9050919050565b600060208201905081810360008301526141a581613bff565b9050919050565b600060208201905081810360008301526141c581613c22565b9050919050565b600060208201905081810360008301526141e581613c45565b9050919050565b6000602082019050818103600083015261420581613c68565b9050919050565b6000602082019050818103600083015261422581613c8b565b9050919050565b6000602082019050818103600083015261424581613cae565b9050919050565b6000602082019050818103600083015261426581613cd1565b9050919050565b6000602082019050818103600083015261428581613cf4565b9050919050565b600060208201905081810360008301526142a581613d17565b9050919050565b600060208201905081810360008301526142c581613d3a565b9050919050565b600060208201905081810360008301526142e581613d5d565b9050919050565b6000602082019050818103600083015261430581613d80565b9050919050565b6000602082019050818103600083015261432581613da3565b9050919050565b6000602082019050818103600083015261434581613dc6565b9050919050565b6000602082019050818103600083015261436581613de9565b9050919050565b6000602082019050818103600083015261438581613e0c565b9050919050565b600060208201905081810360008301526143a581613e2f565b9050919050565b600060208201905081810360008301526143c581613e52565b9050919050565b600060208201905081810360008301526143e581613e75565b9050919050565b6000602082019050818103600083015261440581613e98565b9050919050565b6000602082019050818103600083015261442581613ebb565b9050919050565b6000602082019050818103600083015261444581613ede565b9050919050565b6000602082019050818103600083015261446581613f01565b9050919050565b60006020820190506144816000830184613f24565b92915050565b60006144916144a2565b905061449d8282614737565b919050565b6000604051905090565b600067ffffffffffffffff8211156144c7576144c6614879565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156144f3576144f2614879565b5b6144fc826148a8565b9050602081019050919050565b600067ffffffffffffffff82111561452457614523614879565b5b61452d826148a8565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b6000614588826146ac565b9150614593836146ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156145c8576145c76147ec565b5b828201905092915050565b60006145de826146ac565b91506145e9836146ac565b9250826145f9576145f861481b565b5b828204905092915050565b600061460f826146ac565b915061461a836146ac565b92508282101561462d5761462c6147ec565b5b828203905092915050565b60006146438261468c565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b838110156146f05780820151818401526020810190506146d5565b838111156146ff576000848401525b50505050565b6000600282049050600182168061471d57607f821691505b602082108114156147315761473061484a565b5b50919050565b614740826148a8565b810181811067ffffffffffffffff8211171561475f5761475e614879565b5b80604052505050565b6000614773826146ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156147a6576147a56147ec565b5b600182019050919050565b6000819050919050565b60006147c6826146ac565b91506147d1836146ac565b9250826147e1576147e061481b565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f5369676e6572206e6f7420617574686f72697a65640000000000000000000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c79206f6e65204e465420706572206f6e652077616c6c6574206973206160008201527f6c6c6f7765640000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b7f45434453413a20696e76616c6964207369676e6174757265202776272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f45524337323155524953746f726167653a2055524920717565727920666f722060008201527f6e6f6e6578697374656e7420746f6b656e000000000000000000000000000000602082015250565b7f54727573746564207369676e65722063616e6e6f742062652061207a65726f2060008201527f6164647265737300000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c79206f6e65204e465420706572206f6e65207573657220697320616c6c60008201527f6f77656400000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f416c6c20617661696c61626c65204e465473207765726520616c72656164792060008201527f6d696e7465640000000000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b61512681614638565b811461513157600080fd5b50565b61513d8161464a565b811461514857600080fd5b50565b61515481614660565b811461515f57600080fd5b50565b61516b816146ac565b811461517657600080fd5b5056fea26469706673582212204ce4b584c92e16153c6b597570c56d5b4ddbdbffc321141dcebdfda5b320b98064736f6c63430008040033