60806040526001600660006101000a81548160ff0219169083151502179055506014600755601e60085560056009556005600a55601e600b55601e600c55601e600d556000600e556008600a62000057919062000625565b6130d462000066919062000676565b600f556008600a62000079919062000625565b614e2062000088919062000676565b6010556008600a6200009b919062000625565b611388620000aa919062000676565b6011556008600a620000bd919062000625565b614e20620000cc919062000676565b6012556000601460156101000a81548160ff0219169083151502179055506000601460166101000a81548160ff0219169083151502179055503480156200011257600080fd5b506000620001256200045a60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350620001d36200045a60201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a62000223919062000625565b620f424062000233919062000676565b60016000620002476200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600360006200029b6200046260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600360003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160036000600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003ce6200045a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a6200042d919062000625565b620f42406200043d919062000676565b6040516200044c9190620006e8565b60405180910390a362000705565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200051957808604811115620004f157620004f06200048b565b5b6001851615620005015780820291505b80810290506200051185620004ba565b9450620004d1565b94509492505050565b60008262000534576001905062000607565b8162000544576000905062000607565b81600181146200055d576002811462000568576200059e565b600191505062000607565b60ff8411156200057d576200057c6200048b565b5b8360020a9150848211156200059757620005966200048b565b5b5062000607565b5060208310610133831016604e8410600b8410161715620005d85782820a905083811115620005d257620005d16200048b565b5b62000607565b620005e78484846001620004c7565b925090508184048111156200060157620006006200048b565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000632826200060e565b91506200063f8362000618565b92506200066e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000522565b905092915050565b600062000683826200060e565b915062000690836200060e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620006cc57620006cb6200048b565b5b828202905092915050565b620006e2816200060e565b82525050565b6000602082019050620006ff6000830184620006d7565b92915050565b61361f80620007156000396000f3fe6080604052600436106101395760003560e01c8063751039fc116100ab578063a9059cbb1161006f578063a9059cbb146103ff578063bf474bed1461043c578063c876d0b914610467578063c9567bf914610492578063d34628cc146104a9578063dd62ed3e146104d257610140565b8063751039fc1461033c5780637d1db4a5146103535780638da5cb5b1461037e5780638f9a55c0146103a957806395d89b41146103d457610140565b8063313ce567116100fd578063313ce5671461024057806331c2d8471461026b5780633bbac5791461029457806351bc3c85146102d157806370a08231146102e8578063715018a61461032557610140565b806306fdde0314610145578063095ea7b3146101705780630faee56f146101ad57806318160ddd146101d857806323b872dd1461020357610140565b3661014057005b600080fd5b34801561015157600080fd5b5061015a61050f565b60405161016791906124e9565b60405180910390f35b34801561017c57600080fd5b50610197600480360381019061019291906125b3565b61054c565b6040516101a4919061260e565b60405180910390f35b3480156101b957600080fd5b506101c261056a565b6040516101cf9190612638565b60405180910390f35b3480156101e457600080fd5b506101ed610570565b6040516101fa9190612638565b60405180910390f35b34801561020f57600080fd5b5061022a60048036038101906102259190612653565b610593565b604051610237919061260e565b60405180910390f35b34801561024c57600080fd5b5061025561066c565b60405161026291906126c2565b60405180910390f35b34801561027757600080fd5b50610292600480360381019061028d9190612825565b610675565b005b3480156102a057600080fd5b506102bb60048036038101906102b6919061286e565b61079f565b6040516102c8919061260e565b60405180910390f35b3480156102dd57600080fd5b506102e66107f5565b005b3480156102f457600080fd5b5061030f600480360381019061030a919061286e565b610892565b60405161031c9190612638565b60405180910390f35b34801561033157600080fd5b5061033a6108db565b005b34801561034857600080fd5b50610351610a2e565b005b34801561035f57600080fd5b50610368610b76565b6040516103759190612638565b60405180910390f35b34801561038a57600080fd5b50610393610b7c565b6040516103a091906128aa565b60405180910390f35b3480156103b557600080fd5b506103be610ba5565b6040516103cb9190612638565b60405180910390f35b3480156103e057600080fd5b506103e9610bab565b6040516103f691906124e9565b60405180910390f35b34801561040b57600080fd5b50610426600480360381019061042191906125b3565b610be8565b604051610433919061260e565b60405180910390f35b34801561044857600080fd5b50610451610c06565b60405161045e9190612638565b60405180910390f35b34801561047357600080fd5b5061047c610c0c565b604051610489919061260e565b60405180910390f35b34801561049e57600080fd5b506104a7610c1f565b005b3480156104b557600080fd5b506104d060048036038101906104cb9190612825565b611153565b005b3480156104de57600080fd5b506104f960048036038101906104f491906128c5565b61127d565b6040516105069190612638565b60405180910390f35b60606040518060400160405280600a81526020017f446f676520576f726c6400000000000000000000000000000000000000000000815250905090565b6000610560610559611304565b848461130c565b6001905092915050565b60125481565b60006008600a6105809190612a67565b620f424061058e9190612ab2565b905090565b60006105a08484846114d7565b610661846105ac611304565b61065c856040518060600160405280602881526020016135c260289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610612611304565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f1e9092919063ffffffff16565b61130c565b600190509392505050565b60006008905090565b61067d611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612b58565b60405180910390fd5b60005b815181101561079b5760006004600084848151811061072f5761072e612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061079390612ba7565b91505061070d565b5050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610836611304565b73ffffffffffffffffffffffffffffffffffffffff161461085657600080fd5b600061086130610892565b905060008111156108765761087581611f82565b5b6000479050600081111561088e5761088d816121fb565b5b5050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6108e3611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610970576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096790612b58565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610a36611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ac3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aba90612b58565b60405180910390fd5b6008600a610ad19190612a67565b620f4240610adf9190612ab2565b600f819055506008600a610af39190612a67565b620f4240610b019190612ab2565b6010819055506000600660006101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a610b519190612a67565b620f4240610b5f9190612ab2565b604051610b6c9190612638565b60405180910390a1565b600f5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60105481565b60606040518060400160405280600581526020017f4457524c44000000000000000000000000000000000000000000000000000000815250905090565b6000610bfc610bf5611304565b84846114d7565b6001905092915050565b60115481565b600660009054906101000a900460ff1681565b610c27611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cab90612b58565b60405180910390fd5b60148054906101000a900460ff1615610d02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf990612c3c565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610d9f30601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610d8c9190612a67565b620f4240610d9a9190612ab2565b61130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e309190612c71565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610edd9190612c71565b6040518363ffffffff1660e01b8152600401610efa929190612c9e565b6020604051808303816000875af1158015610f19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f3d9190612c71565b601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610fc630610892565b600080610fd1610b7c565b426040518863ffffffff1660e01b8152600401610ff396959493929190612d0c565b60606040518083038185885af1158015611011573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110369190612d82565b505050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016110d8929190612dd5565b6020604051808303816000875af11580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b9190612e2a565b506001601460166101000a81548160ff02191690831515021790555060016014806101000a81548160ff021916908315150217905550565b61115b611304565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111df90612b58565b60405180910390fd5b60005b81518110156112795760016004600084848151811061120d5761120c612b78565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061127190612ba7565b9150506111eb565b5050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561137c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137390612ec9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156113ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e390612f5b565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516114ca9190612638565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611547576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153e90612fed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156115b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ae9061307f565b60405180910390fd5b600081116115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190613111565b60405180910390fd5b6000611604610b7c565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156116725750611642610b7c565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c6157600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561171b5750600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b61172457600080fd5b6117606064611752600b54600e541161173f57600754611743565b6009545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b9050600660009054906101000a900460ff16156118ef57601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156118235750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118ee5743600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106118a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a0906131c9565b60405180910390fd5b43600560003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561199a5750601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156119f05750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aab57600f54821115611a3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a3190613235565b60405180910390fd5b60105482611a4785610892565b611a519190613255565b1115611a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a89906132f7565b60405180910390fd5b600e6000815480929190611aa590612ba7565b91905055505b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611b3457503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b7857611b756064611b67600c54600e5411611b5457600854611b58565b600a545b8561226790919063ffffffff16565b6122e290919063ffffffff16565b90505b6000611b8330610892565b9050601460159054906101000a900460ff16158015611bef5750601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611c075750601460169054906101000a900460ff165b8015611c14575060115481115b8015611c235750600d54600e54115b15611c5f57611c45611c4084611c3b8460125461232c565b61232c565b611f82565b60004790506000811115611c5d57611c5c476121fb565b5b505b505b6000811115611d6557611cbc81600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611d5c9190612638565b60405180910390a35b611db782600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e5e611e1082846123a390919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461234590919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611f0384866123a390919063ffffffff16565b604051611f109190612638565b60405180910390a350505050565b6000838311158290611f66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5d91906124e9565b60405180910390fd5b5060008385611f759190613317565b9050809150509392505050565b6001601460156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611fba57611fb96126e2565b5b604051908082528060200260200182016040528015611fe85781602001602082028036833780820191505090505b509050308160008151811061200057611fff612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156120a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120cb9190612c71565b816001815181106120df576120de612b78565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061214630601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461130c565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016121aa959493929190613409565b600060405180830381600087803b1580156121c457600080fd5b505af11580156121d8573d6000803e3d6000fd5b50505050506000601460156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612263573d6000803e3d6000fd5b5050565b60008083141561227a57600090506122dc565b600082846122889190612ab2565b90508284826122979190613492565b146122d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ce90613535565b60405180910390fd5b809150505b92915050565b600061232483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506123ed565b905092915050565b600081831161233b578261233d565b815b905092915050565b60008082846123549190613255565b905083811015612399576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612390906135a1565b60405180910390fd5b8091505092915050565b60006123e583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f1e565b905092915050565b60008083118290612434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242b91906124e9565b60405180910390fd5b50600083856124439190613492565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561248a57808201518184015260208101905061246f565b83811115612499576000848401525b50505050565b6000601f19601f8301169050919050565b60006124bb82612450565b6124c5818561245b565b93506124d581856020860161246c565b6124de8161249f565b840191505092915050565b6000602082019050818103600083015261250381846124b0565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061254a8261251f565b9050919050565b61255a8161253f565b811461256557600080fd5b50565b60008135905061257781612551565b92915050565b6000819050919050565b6125908161257d565b811461259b57600080fd5b50565b6000813590506125ad81612587565b92915050565b600080604083850312156125ca576125c9612515565b5b60006125d885828601612568565b92505060206125e98582860161259e565b9150509250929050565b60008115159050919050565b612608816125f3565b82525050565b600060208201905061262360008301846125ff565b92915050565b6126328161257d565b82525050565b600060208201905061264d6000830184612629565b92915050565b60008060006060848603121561266c5761266b612515565b5b600061267a86828701612568565b935050602061268b86828701612568565b925050604061269c8682870161259e565b9150509250925092565b600060ff82169050919050565b6126bc816126a6565b82525050565b60006020820190506126d760008301846126b3565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61271a8261249f565b810181811067ffffffffffffffff82111715612739576127386126e2565b5b80604052505050565b600061274c61250b565b90506127588282612711565b919050565b600067ffffffffffffffff821115612778576127776126e2565b5b602082029050602081019050919050565b600080fd5b60006127a161279c8461275d565b612742565b905080838252602082019050602084028301858111156127c4576127c3612789565b5b835b818110156127ed57806127d98882612568565b8452602084019350506020810190506127c6565b5050509392505050565b600082601f83011261280c5761280b6126dd565b5b813561281c84826020860161278e565b91505092915050565b60006020828403121561283b5761283a612515565b5b600082013567ffffffffffffffff8111156128595761285861251a565b5b612865848285016127f7565b91505092915050565b60006020828403121561288457612883612515565b5b600061289284828501612568565b91505092915050565b6128a48161253f565b82525050565b60006020820190506128bf600083018461289b565b92915050565b600080604083850312156128dc576128db612515565b5b60006128ea85828601612568565b92505060206128fb85828601612568565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111561298b5780860481111561296757612966612905565b5b60018516156129765780820291505b808102905061298485612934565b945061294b565b94509492505050565b6000826129a45760019050612a60565b816129b25760009050612a60565b81600181146129c857600281146129d257612a01565b6001915050612a60565b60ff8411156129e4576129e3612905565b5b8360020a9150848211156129fb576129fa612905565b5b50612a60565b5060208310610133831016604e8410600b8410161715612a365782820a905083811115612a3157612a30612905565b5b612a60565b612a438484846001612941565b92509050818404811115612a5a57612a59612905565b5b81810290505b9392505050565b6000612a728261257d565b9150612a7d836126a6565b9250612aaa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612994565b905092915050565b6000612abd8261257d565b9150612ac88361257d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b0157612b00612905565b5b828202905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612b4260208361245b565b9150612b4d82612b0c565b602082019050919050565b60006020820190508181036000830152612b7181612b35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612bb28261257d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612be557612be4612905565b5b600182019050919050565b7f74726164696e6720697320616c7265616479206f70656e000000000000000000600082015250565b6000612c2660178361245b565b9150612c3182612bf0565b602082019050919050565b60006020820190508181036000830152612c5581612c19565b9050919050565b600081519050612c6b81612551565b92915050565b600060208284031215612c8757612c86612515565b5b6000612c9584828501612c5c565b91505092915050565b6000604082019050612cb3600083018561289b565b612cc0602083018461289b565b9392505050565b6000819050919050565b6000819050919050565b6000612cf6612cf1612cec84612cc7565b612cd1565b61257d565b9050919050565b612d0681612cdb565b82525050565b600060c082019050612d21600083018961289b565b612d2e6020830188612629565b612d3b6040830187612cfd565b612d486060830186612cfd565b612d55608083018561289b565b612d6260a0830184612629565b979650505050505050565b600081519050612d7c81612587565b92915050565b600080600060608486031215612d9b57612d9a612515565b5b6000612da986828701612d6d565b9350506020612dba86828701612d6d565b9250506040612dcb86828701612d6d565b9150509250925092565b6000604082019050612dea600083018561289b565b612df76020830184612629565b9392505050565b612e07816125f3565b8114612e1257600080fd5b50565b600081519050612e2481612dfe565b92915050565b600060208284031215612e4057612e3f612515565b5b6000612e4e84828501612e15565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612eb360248361245b565b9150612ebe82612e57565b604082019050919050565b60006020820190508181036000830152612ee281612ea6565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f4560228361245b565b9150612f5082612ee9565b604082019050919050565b60006020820190508181036000830152612f7481612f38565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612fd760258361245b565b9150612fe282612f7b565b604082019050919050565b6000602082019050818103600083015261300681612fca565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b600061306960238361245b565b91506130748261300d565b604082019050919050565b600060208201905081810360008301526130988161305c565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b60006130fb60298361245b565b91506131068261309f565b604082019050919050565b6000602082019050818103600083015261312a816130ee565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006131b360498361245b565b91506131be82613131565b606082019050919050565b600060208201905081810360008301526131e2816131a6565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e00000000000000600082015250565b600061321f60198361245b565b915061322a826131e9565b602082019050919050565b6000602082019050818103600083015261324e81613212565b9050919050565b60006132608261257d565b915061326b8361257d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132a05761329f612905565b5b828201905092915050565b7f4578636565647320746865206d617857616c6c657453697a652e000000000000600082015250565b60006132e1601a8361245b565b91506132ec826132ab565b602082019050919050565b60006020820190508181036000830152613310816132d4565b9050919050565b60006133228261257d565b915061332d8361257d565b9250828210156133405761333f612905565b5b828203905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6133808161253f565b82525050565b60006133928383613377565b60208301905092915050565b6000602082019050919050565b60006133b68261334b565b6133c08185613356565b93506133cb83613367565b8060005b838110156133fc5781516133e38882613386565b97506133ee8361339e565b9250506001810190506133cf565b5085935050505092915050565b600060a08201905061341e6000830188612629565b61342b6020830187612cfd565b818103604083015261343d81866133ab565b905061344c606083018561289b565b6134596080830184612629565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061349d8261257d565b91506134a88361257d565b9250826134b8576134b7613463565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b600061351f60218361245b565b915061352a826134c3565b604082019050919050565b6000602082019050818103600083015261354e81613512565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061358b601b8361245b565b915061359682613555565b602082019050919050565b600060208201905081810360008301526135ba8161357e565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220f0e2b3b42c1d694605e8c5795edfd3e1e41df454b5940cad51d314ade782b3f964736f6c634300080b0033