608060405266016bcc41e90000600c556000600d60006101000a81548160ff0219169083151502179055503480156200003757600080fd5b50604051620038033803806200380383398181016040528101906200005d9190620002c9565b806040518060400160405280600f81526020017f426c617a7061792078205461696b6f00000000000000000000000000000000008152506040518060400160405280600481526020017f54424c5a000000000000000000000000000000000000000000000000000000008152508160009081620000db919062000575565b508060019081620000ed919062000575565b5050506000600a60006101000a81548160ff021916908315150217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001805760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200017791906200066d565b60405180910390fd5b62000191816200019960201b60201c565b50506200068a565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002918262000264565b9050919050565b620002a38162000284565b8114620002af57600080fd5b50565b600081519050620002c38162000298565b92915050565b600060208284031215620002e257620002e16200025f565b5b6000620002f284828501620002b2565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200037d57607f821691505b60208210810362000393576200039262000335565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003fd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620003be565b620004098683620003be565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000456620004506200044a8462000421565b6200042b565b62000421565b9050919050565b6000819050919050565b620004728362000435565b6200048a62000481826200045d565b848454620003cb565b825550505050565b600090565b620004a162000492565b620004ae81848462000467565b505050565b5b81811015620004d657620004ca60008262000497565b600181019050620004b4565b5050565b601f8211156200052557620004ef8162000399565b620004fa84620003ae565b810160208510156200050a578190505b620005226200051985620003ae565b830182620004b3565b50505b505050565b600082821c905092915050565b60006200054a600019846008026200052a565b1980831691505092915050565b600062000565838362000537565b9150826002028217905092915050565b6200058082620002fb565b67ffffffffffffffff8111156200059c576200059b62000306565b5b620005a8825462000364565b620005b5828285620004da565b600060209050601f831160018114620005ed5760008415620005d8578287015190505b620005e4858262000557565b86555062000654565b601f198416620005fd8662000399565b60005b82811015620006275784890151825560018201915060208501945060208101905062000600565b8683101562000647578489015162000643601f89168262000537565b8355505b6001600288020188555050505b505050505050565b620006678162000284565b82525050565b60006020820190506200068460008301846200065c565b92915050565b613169806200069a6000396000f3fe6080604052600436106101e35760003560e01c806370a0823111610102578063a035b1fe11610095578063c87b56dd11610064578063c87b56dd1461069c578063e985e9c5146106d9578063e9b09b1814610716578063f2fde38b1461073f576101e3565b8063a035b1fe146105f6578063a22cb46514610621578063b88d4fde1461064a578063c18ebc6a14610673576101e3565b80638d6cc56d116100d15780638d6cc56d1461054c5780638da5cb5b1461057557806395d89b41146105a05780639a1df6bc146105cb576101e3565b806370a08231146104a4578063715018a6146104e15780638456cb59146104f85780638462151c1461050f576101e3565b80633f4ba83a1161017a57806343508b051161014957806343508b05146103e35780634f6ccce7146103ff5780635c975abb1461043c5780636352211e14610467576101e3565b80633f4ba83a1461035e57806340d097c31461037557806342842e0e1461039157806342966c68146103ba576101e3565b806318160ddd116101b657806318160ddd146102b657806323b872dd146102e15780632f745c591461030a5780633ccfd60b14610347576101e3565b806301ffc9a7146101e857806306fdde0314610225578063081812fc14610250578063095ea7b31461028d575b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a91906125b2565b610768565b60405161021c91906125fa565b60405180910390f35b34801561023157600080fd5b5061023a61077a565b60405161024791906126a5565b60405180910390f35b34801561025c57600080fd5b50610277600480360381019061027291906126fd565b61080c565b604051610284919061276b565b60405180910390f35b34801561029957600080fd5b506102b460048036038101906102af91906127b2565b610828565b005b3480156102c257600080fd5b506102cb61083e565b6040516102d89190612801565b60405180910390f35b3480156102ed57600080fd5b506103086004803603810190610303919061281c565b61084b565b005b34801561031657600080fd5b50610331600480360381019061032c91906127b2565b61094d565b60405161033e9190612801565b60405180910390f35b34801561035357600080fd5b5061035c6109f6565b005b34801561036a57600080fd5b50610373610a97565b005b61038f600480360381019061038a919061286f565b610aa9565b005b34801561039d57600080fd5b506103b860048036038101906103b3919061281c565b610b2c565b005b3480156103c657600080fd5b506103e160048036038101906103dc91906126fd565b610b4c565b005b6103fd60048036038101906103f891906127b2565b610b63565b005b34801561040b57600080fd5b50610426600480360381019061042191906126fd565b610c11565b6040516104339190612801565b60405180910390f35b34801561044857600080fd5b50610451610c87565b60405161045e91906125fa565b60405180910390f35b34801561047357600080fd5b5061048e600480360381019061048991906126fd565b610c9e565b60405161049b919061276b565b60405180910390f35b3480156104b057600080fd5b506104cb60048036038101906104c6919061286f565b610cb0565b6040516104d89190612801565b60405180910390f35b3480156104ed57600080fd5b506104f6610d6a565b005b34801561050457600080fd5b5061050d610d7e565b005b34801561051b57600080fd5b506105366004803603810190610531919061286f565b610d90565b604051610543919061295a565b60405180910390f35b34801561055857600080fd5b50610573600480360381019061056e91906126fd565b610e99565b005b34801561058157600080fd5b5061058a610eab565b604051610597919061276b565b60405180910390f35b3480156105ac57600080fd5b506105b5610ed5565b6040516105c291906126a5565b60405180910390f35b3480156105d757600080fd5b506105e0610f67565b6040516105ed91906125fa565b60405180910390f35b34801561060257600080fd5b5061060b610f7a565b6040516106189190612801565b60405180910390f35b34801561062d57600080fd5b50610648600480360381019061064391906129a8565b610f80565b005b34801561065657600080fd5b50610671600480360381019061066c9190612b1d565b610f96565b005b34801561067f57600080fd5b5061069a6004803603810190610695919061286f565b610fb3565b005b3480156106a857600080fd5b506106c360048036038101906106be91906126fd565b610fe4565b6040516106d091906126a5565b60405180910390f35b3480156106e557600080fd5b5061070060048036038101906106fb9190612ba0565b61107d565b60405161070d91906125fa565b60405180910390f35b34801561072257600080fd5b5061073d60048036038101906107389190612be0565b611111565b005b34801561074b57600080fd5b506107666004803603810190610761919061286f565b611136565b005b6000610773826111bc565b9050919050565b60606000805461078990612c3c565b80601f01602080910402602001604051908101604052809291908181526020018280546107b590612c3c565b80156108025780601f106107d757610100808354040283529160200191610802565b820191906000526020600020905b8154815290600101906020018083116107e557829003601f168201915b5050505050905090565b600061081782611236565b50610821826112be565b9050919050565b61083a82826108356112fb565b611303565b5050565b6000600880549050905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108bd5760006040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016108b4919061276b565b60405180910390fd5b60006108d183836108cc6112fb565b611315565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610947578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161093e93929190612c6d565b60405180910390fd5b50505050565b600061095883610cb0565b821061099d5782826040517fa57d13dc000000000000000000000000000000000000000000000000000000008152600401610994929190612ca4565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6109fe61132b565b600047905060008111610a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3d90612d19565b60405180910390fd5b610a4e610eab565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610a93573d6000803e3d6000fd5b5050565b610a9f61132b565b610aa76113b2565b565b600d60009054906101000a900460ff1615610b0357600c543414610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990612d85565b60405180910390fd5b5b6000600b6000815480929190610b1890612dd4565b919050559050610b288282611415565b5050565b610b4783838360405180602001604052806000815250610f96565b505050565b610b5f600082610b5a6112fb565b611315565b5050565b600d60009054906101000a900460ff1615610bc85780600c54610b869190612e1c565b3414610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe90612ed0565b60405180910390fd5b5b60005b81811015610c0c576000600b6000815480929190610be890612dd4565b919050559050610bf88482611415565b508080610c0490612dd4565b915050610bcb565b505050565b6000610c1b61083e565b8210610c61576000826040517fa57d13dc000000000000000000000000000000000000000000000000000000008152600401610c58929190612ca4565b60405180910390fd5b60088281548110610c7557610c74612ef0565b5b90600052602060002001549050919050565b6000600a60009054906101000a900460ff16905090565b6000610ca982611236565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d235760006040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610d1a919061276b565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610d7261132b565b610d7c6000611433565b565b610d8661132b565b610d8e6114f9565b565b60606000610d9d83610cb0565b905060008103610df957600067ffffffffffffffff811115610dc257610dc16129f2565b5b604051908082528060200260200182016040528015610df05781602001602082028036833780820191505090505b50915050610e94565b60008167ffffffffffffffff811115610e1557610e146129f2565b5b604051908082528060200260200182016040528015610e435781602001602082028036833780820191505090505b50905060005b82811015610e8d57610e5b858261094d565b828281518110610e6e57610e6d612ef0565b5b6020026020010181815250508080610e8590612dd4565b915050610e49565b5080925050505b919050565b610ea161132b565b80600c8190555050565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610ee490612c3c565b80601f0160208091040260200160405190810160405280929190818152602001828054610f1090612c3c565b8015610f5d5780601f10610f3257610100808354040283529160200191610f5d565b820191906000526020600020905b815481529060010190602001808311610f4057829003601f168201915b5050505050905090565b600d60009054906101000a900460ff1681565b600c5481565b610f92610f8b6112fb565b838361155c565b5050565b610fa184848461084b565b610fad848484846116cb565b50505050565b610fbb61132b565b6000600b6000815480929190610fd090612dd4565b919050559050610fe08282611415565b5050565b6060600073ffffffffffffffffffffffffffffffffffffffff1661100783610c9e565b73ffffffffffffffffffffffffffffffffffffffff160361105d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105490612f91565b60405180910390fd5b6040518060600160405280603c81526020016130f8603c91399050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61111961132b565b80600d60006101000a81548160ff02191690831515021790555050565b61113e61132b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111b05760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016111a7919061276b565b60405180910390fd5b6111b981611433565b50565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061122f575061122e82611882565b5b9050919050565b60008061124283611964565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112b557826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016112ac9190612801565b60405180910390fd5b80915050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b61131083838360016119a1565b505050565b6000611322848484611b66565b90509392505050565b6113336112fb565b73ffffffffffffffffffffffffffffffffffffffff16611351610eab565b73ffffffffffffffffffffffffffffffffffffffff16146113b0576113746112fb565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016113a7919061276b565b60405180910390fd5b565b6113ba611b84565b6000600a60006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6113fe6112fb565b60405161140b919061276b565b60405180910390a1565b61142f828260405180602001604052806000815250611bc4565b5050565b6000600a60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611501611be0565b6001600a60006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586115456112fb565b604051611552919061276b565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115cd57816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016115c4919061276b565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516116be91906125fa565b60405180910390a3505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b111561187c578273ffffffffffffffffffffffffffffffffffffffff1663150b7a0261170f6112fb565b8685856040518563ffffffff1660e01b81526004016117319493929190613006565b6020604051808303816000875af192505050801561176d57506040513d601f19601f8201168201806040525081019061176a9190613067565b60015b6117f1573d806000811461179d576040519150601f19603f3d011682016040523d82523d6000602084013e6117a2565b606091505b5060008151036117e957836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016117e0919061276b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461187a57836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611871919061276b565b60405180910390fd5b505b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061194d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061195d575061195c82611c21565b5b9050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806119da5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b0e5760006119ea84611236565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a5557508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611a685750611a66818461107d565b155b15611aaa57826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611aa1919061276b565b60405180910390fd5b8115611b0c57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6000611b70611be0565b611b7b848484611c8b565b90509392505050565b611b8c610c87565b611bc2576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b611bce8383611da8565b611bdb60008484846116cb565b505050565b611be8610c87565b15611c1f576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600080611c99858585611ea1565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611cdd57611cd8846120bb565b611d1c565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611d1b57611d1a8185612104565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611d5e57611d5984612265565b611d9d565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611d9c57611d9b8585612336565b5b5b809150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e1a5760006040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611e11919061276b565b60405180910390fd5b6000611e2883836000611315565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611e9c5760006040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401611e93919061276b565b60405180910390fd5b505050565b600080611ead84611964565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611eef57611eee8184866123c1565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611f8057611f316000856000806119a1565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612003576001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846002600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600061210f83610cb0565b90506000600760008481526020019081526020016000205490508181146121f4576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506122799190613094565b90506000600960008481526020019081526020016000205490506000600883815481106122a9576122a8612ef0565b5b9060005260206000200154905080600883815481106122cb576122ca612ef0565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061231a576123196130c8565b5b6001900381819060005260206000200160009055905550505050565b6000600161234384610cb0565b61234d9190613094565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6123cc838383612485565b61248057600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361244157806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016124389190612801565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401612477929190612ca4565b60405180910390fd5b505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561253d57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806124fe57506124fd848461107d565b5b8061253c57508273ffffffffffffffffffffffffffffffffffffffff16612524836112be565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61258f8161255a565b811461259a57600080fd5b50565b6000813590506125ac81612586565b92915050565b6000602082840312156125c8576125c7612550565b5b60006125d68482850161259d565b91505092915050565b60008115159050919050565b6125f4816125df565b82525050565b600060208201905061260f60008301846125eb565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561264f578082015181840152602081019050612634565b60008484015250505050565b6000601f19601f8301169050919050565b600061267782612615565b6126818185612620565b9350612691818560208601612631565b61269a8161265b565b840191505092915050565b600060208201905081810360008301526126bf818461266c565b905092915050565b6000819050919050565b6126da816126c7565b81146126e557600080fd5b50565b6000813590506126f7816126d1565b92915050565b60006020828403121561271357612712612550565b5b6000612721848285016126e8565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006127558261272a565b9050919050565b6127658161274a565b82525050565b6000602082019050612780600083018461275c565b92915050565b61278f8161274a565b811461279a57600080fd5b50565b6000813590506127ac81612786565b92915050565b600080604083850312156127c9576127c8612550565b5b60006127d78582860161279d565b92505060206127e8858286016126e8565b9150509250929050565b6127fb816126c7565b82525050565b600060208201905061281660008301846127f2565b92915050565b60008060006060848603121561283557612834612550565b5b60006128438682870161279d565b93505060206128548682870161279d565b9250506040612865868287016126e8565b9150509250925092565b60006020828403121561288557612884612550565b5b60006128938482850161279d565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128d1816126c7565b82525050565b60006128e383836128c8565b60208301905092915050565b6000602082019050919050565b60006129078261289c565b61291181856128a7565b935061291c836128b8565b8060005b8381101561294d57815161293488826128d7565b975061293f836128ef565b925050600181019050612920565b5085935050505092915050565b6000602082019050818103600083015261297481846128fc565b905092915050565b612985816125df565b811461299057600080fd5b50565b6000813590506129a28161297c565b92915050565b600080604083850312156129bf576129be612550565b5b60006129cd8582860161279d565b92505060206129de85828601612993565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a2a8261265b565b810181811067ffffffffffffffff82111715612a4957612a486129f2565b5b80604052505050565b6000612a5c612546565b9050612a688282612a21565b919050565b600067ffffffffffffffff821115612a8857612a876129f2565b5b612a918261265b565b9050602081019050919050565b82818337600083830152505050565b6000612ac0612abb84612a6d565b612a52565b905082815260208101848484011115612adc57612adb6129ed565b5b612ae7848285612a9e565b509392505050565b600082601f830112612b0457612b036129e8565b5b8135612b14848260208601612aad565b91505092915050565b60008060008060808587031215612b3757612b36612550565b5b6000612b458782880161279d565b9450506020612b568782880161279d565b9350506040612b67878288016126e8565b925050606085013567ffffffffffffffff811115612b8857612b87612555565b5b612b9487828801612aef565b91505092959194509250565b60008060408385031215612bb757612bb6612550565b5b6000612bc58582860161279d565b9250506020612bd68582860161279d565b9150509250929050565b600060208284031215612bf657612bf5612550565b5b6000612c0484828501612993565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c5457607f821691505b602082108103612c6757612c66612c0d565b5b50919050565b6000606082019050612c82600083018661275c565b612c8f60208301856127f2565b612c9c604083018461275c565b949350505050565b6000604082019050612cb9600083018561275c565b612cc660208301846127f2565b9392505050565b7f4e6f204554482062616c616e636520746f207769746864726177000000000000600082015250565b6000612d03601a83612620565b9150612d0e82612ccd565b602082019050919050565b60006020820190508181036000830152612d3281612cf6565b9050919050565b7f496e636f72726563742045746865722076616c75650000000000000000000000600082015250565b6000612d6f601583612620565b9150612d7a82612d39565b602082019050919050565b60006020820190508181036000830152612d9e81612d62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ddf826126c7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e1157612e10612da5565b5b600182019050919050565b6000612e27826126c7565b9150612e32836126c7565b9250828202612e40816126c7565b91508282048414831517612e5757612e56612da5565b5b5092915050565b7f496e636f72726563742045746865722076616c756520666f722062617463682060008201527f6d696e74696e6700000000000000000000000000000000000000000000000000602082015250565b6000612eba602783612620565b9150612ec582612e5e565b604082019050919050565b60006020820190508181036000830152612ee981612ead565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000612f7b602f83612620565b9150612f8682612f1f565b604082019050919050565b60006020820190508181036000830152612faa81612f6e565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000612fd882612fb1565b612fe28185612fbc565b9350612ff2818560208601612631565b612ffb8161265b565b840191505092915050565b600060808201905061301b600083018761275c565b613028602083018661275c565b61303560408301856127f2565b81810360608301526130478184612fcd565b905095945050505050565b60008151905061306181612586565b92915050565b60006020828403121561307d5761307c612550565b5b600061308b84828501613052565b91505092915050565b600061309f826126c7565b91506130aa836126c7565b92508282039050818111156130c2576130c1612da5565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfe697066733a2f2f516d576f786e6e32327048394e616571596a48747646774b4a56386a5971426672677a4c35554c79526d553751482f312e6a736f6ea2646970667358221220ad6575b95fd2a1186ccabd95d619692ee13c0c09d83254c8621e66f65ed6e8c664736f6c634300081400330000000000000000000000005222d5467dc61afc2efa95ef76dcde411e6e1d35