60806040523480156200001157600080fd5b50604051620033ea380380620033ea833981810160405281019062000037919062000492565b336040518060400160405280600781526020017f5a65726f4e4654000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f5a4e4654000000000000000000000000000000000000000000000000000000008152508160009081620000b5919062000749565b508060019081620000c7919062000749565b505050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013f5760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000136919062000841565b60405180910390fd5b6200015081620001ba60201b60201c565b5081600881905550600060098190555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001b2816200028060201b60201c565b50506200085e565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620002906200031960201b60201c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620003055760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620002fc919062000841565b60405180910390fd5b6200031681620001ba60201b60201c565b50565b62000329620003bb60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200034f620003c360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620003b9576200037b620003bb60201b60201c565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401620003b0919062000841565b60405180910390fd5b565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080fd5b6000819050919050565b6200040781620003f2565b81146200041357600080fd5b50565b6000815190506200042781620003fc565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200045a826200042d565b9050919050565b6200046c816200044d565b81146200047857600080fd5b50565b6000815190506200048c8162000461565b92915050565b60008060408385031215620004ac57620004ab620003ed565b5b6000620004bc8582860162000416565b9250506020620004cf858286016200047b565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200055b57607f821691505b60208210810362000571576200057062000513565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005db7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200059c565b620005e786836200059c565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200062a620006246200061e84620003f2565b620005ff565b620003f2565b9050919050565b6000819050919050565b620006468362000609565b6200065e620006558262000631565b848454620005a9565b825550505050565b600090565b6200067562000666565b620006828184846200063b565b505050565b5b81811015620006aa576200069e6000826200066b565b60018101905062000688565b5050565b601f821115620006f957620006c38162000577565b620006ce846200058c565b81016020851015620006de578190505b620006f6620006ed856200058c565b83018262000687565b50505b505050565b600082821c905092915050565b60006200071e60001984600802620006fe565b1980831691505092915050565b60006200073983836200070b565b9150826002028217905092915050565b6200075482620004d9565b67ffffffffffffffff81111562000770576200076f620004e4565b5b6200077c825462000542565b62000789828285620006ae565b600060209050601f831160018114620007c15760008415620007ac578287015190505b620007b885826200072b565b86555062000828565b601f198416620007d18662000577565b60005b82811015620007fb57848901518255600182019150602085019450602081019050620007d4565b868310156200081b578489015162000817601f8916826200070b565b8355505b6001600288020188555050505b505050505050565b6200083b816200044d565b82525050565b600060208201905062000858600083018462000830565b92915050565b612b7c806200086e6000396000f3fe60806040526004361061014b5760003560e01c80638da5cb5b116100b6578063c3d6ee7f1161006f578063c3d6ee7f1461044b578063c87b56dd14610474578063d082e381146104b1578063e985e9c5146104dc578063f2fde38b14610519578063f4a0a528146105425761014b565b80638da5cb5b1461036e57806395d89b4114610399578063a22cb465146103c4578063aa3ec0a9146103ed578063b88d4fde14610418578063bff29cee146104415761014b565b80633ccfd60b116101085780633ccfd60b1461027257806342842e0e146102895780636352211e146102b25780636817c76c146102ef57806370a082311461031a578063715018a6146103575761014b565b806301ffc9a71461015057806302a867811461018d57806306fdde03146101b8578063081812fc146101e3578063095ea7b31461022057806323b872dd14610249575b600080fd5b34801561015c57600080fd5b5061017760048036038101906101729190611e64565b61056b565b6040516101849190611eac565b60405180910390f35b34801561019957600080fd5b506101a26105cc565b6040516101af9190611f08565b60405180910390f35b3480156101c457600080fd5b506101cd6105f2565b6040516101da9190611fb3565b60405180910390f35b3480156101ef57600080fd5b5061020a6004803603810190610205919061200b565b610684565b6040516102179190611f08565b60405180910390f35b34801561022c57600080fd5b5061024760048036038101906102429190612064565b6106a0565b005b34801561025557600080fd5b50610270600480360381019061026b91906120a4565b6106b6565b005b34801561027e57600080fd5b506102876107b8565b005b34801561029557600080fd5b506102b060048036038101906102ab91906120a4565b610810565b005b3480156102be57600080fd5b506102d960048036038101906102d4919061200b565b610830565b6040516102e69190611f08565b60405180910390f35b3480156102fb57600080fd5b50610304610842565b6040516103119190612106565b60405180910390f35b34801561032657600080fd5b50610341600480360381019061033c9190612121565b610848565b60405161034e9190612106565b60405180910390f35b34801561036357600080fd5b5061036c610902565b005b34801561037a57600080fd5b50610383610916565b6040516103909190611f08565b60405180910390f35b3480156103a557600080fd5b506103ae610940565b6040516103bb9190611fb3565b60405180910390f35b3480156103d057600080fd5b506103eb60048036038101906103e6919061217a565b6109d2565b005b3480156103f957600080fd5b506104026109e8565b60405161040f9190611fb3565b60405180910390f35b34801561042457600080fd5b5061043f600480360381019061043a91906122ef565b610a76565b005b610449610a93565b005b34801561045757600080fd5b50610472600480360381019061046d9190612413565b610b29565b005b34801561048057600080fd5b5061049b6004803603810190610496919061200b565b610b44565b6040516104a89190611fb3565b60405180910390f35b3480156104bd57600080fd5b506104c6610c57565b6040516104d39190612106565b60405180910390f35b3480156104e857600080fd5b5061050360048036038101906104fe919061245c565b610c5d565b6040516105109190611eac565b60405180910390f35b34801561052557600080fd5b50610540600480360381019061053b9190612121565b610cf1565b005b34801561054e57600080fd5b506105696004803603810190610564919061200b565b610d77565b005b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105c557506105c482610d89565b5b9050919050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060008054610601906124cb565b80601f016020809104026020016040519081016040528092919081815260200182805461062d906124cb565b801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b5050505050905090565b600061068f82610e6b565b5061069982610ef3565b9050919050565b6106b282826106ad610f30565b610f38565b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107285760006040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161071f9190611f08565b60405180910390fd5b600061073c8383610737610f30565b610f4a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107b2578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016107a9939291906124fc565b60405180910390fd5b50505050565b6107c0611164565b6107c8610916565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561080d573d6000803e3d6000fd5b50565b61082b83838360405180602001604052806000815250610a76565b505050565b600061083b82610e6b565b9050919050565b60085481565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108bb5760006040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016108b29190611f08565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61090a611164565b61091460006111eb565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461094f906124cb565b80601f016020809104026020016040519081016040528092919081815260200182805461097b906124cb565b80156109c85780601f1061099d576101008083540402835291602001916109c8565b820191906000526020600020905b8154815290600101906020018083116109ab57829003601f168201915b5050505050905090565b6109e46109dd610f30565b83836112b1565b5050565b600b80546109f5906124cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610a21906124cb565b8015610a6e5780601f10610a4357610100808354040283529160200191610a6e565b820191906000526020600020905b815481529060010190602001808311610a5157829003601f168201915b505050505081565b610a818484846106b6565b610a8d84848484611420565b50505050565b6008543414610ad7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ace906125a5565b60405180910390fd5b610ae3336009546115d7565b610b0f600954600b604051602001610afb91906126b4565b6040516020818303038152906040526115f5565b60096000815480929190610b2290612705565b9190505550565b610b31611164565b80600b9081610b4091906128e4565b5050565b6060610b4f82610e6b565b506000600660008481526020019081526020016000208054610b70906124cb565b80601f0160208091040260200160405190810160405280929190818152602001828054610b9c906124cb565b8015610be95780601f10610bbe57610100808354040283529160200191610be9565b820191906000526020600020905b815481529060010190602001808311610bcc57829003601f168201915b505050505090506000610bfa611651565b90506000815103610c0f578192505050610c52565b600082511115610c44578082604051602001610c2c9291906129e7565b60405160208183030381529060405292505050610c52565b610c4d84611668565b925050505b919050565b60095481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610cf9611164565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d6b5760006040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610d629190611f08565b60405180910390fd5b610d74816111eb565b50565b610d7f611164565b8060088190555050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610e5457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610e645750610e63826116d1565b5b9050919050565b600080610e778361173b565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610eea57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610ee19190612106565b60405180910390fd5b80915050919050565b60006004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600033905090565b610f458383836001611778565b505050565b600080610f568461173b565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610f9857610f9781848661193d565b5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461102957610fda600085600080611778565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146110ac576001600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055505b846002600086815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b61116c610f30565b73ffffffffffffffffffffffffffffffffffffffff1661118a610916565b73ffffffffffffffffffffffffffffffffffffffff16146111e9576111ad610f30565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016111e09190611f08565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361132257816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016113199190611f08565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516114139190611eac565b60405180910390a3505050565b60008373ffffffffffffffffffffffffffffffffffffffff163b11156115d1578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02611464610f30565b8685856040518563ffffffff1660e01b81526004016114869493929190612a60565b6020604051808303816000875af19250505080156114c257506040513d601f19601f820116820180604052508101906114bf9190612ac1565b60015b611546573d80600081146114f2576040519150601f19603f3d011682016040523d82523d6000602084013e6114f7565b606091505b50600081510361153e57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016115359190611f08565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146115cf57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016115c69190611f08565b60405180910390fd5b505b50505050565b6115f1828260405180602001604052806000815250611a01565b5050565b8060066000848152602001908152602001600020908161161591906128e4565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516116459190612106565b60405180910390a15050565b606060405180602001604052806000815250905090565b606061167382610e6b565b50600061167e611651565b9050600081511161169e57604051806020016040528060008152506116c9565b806116a884611a1d565b6040516020016116b99291906129e7565b6040516020818303038152906040525b915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806117b15750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156118e55760006117c184610e6b565b9050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561182c57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561183f575061183d8184610c5d565b155b1561188157826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016118789190611f08565b60405180910390fd5b81156118e357838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b836004600085815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611948838383611aeb565b6119fc57600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119bd57806040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016119b49190612106565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016119f3929190612aee565b60405180910390fd5b505050565b611a0b8383611bac565b611a186000848484611420565b505050565b606060006001611a2c84611ca5565b01905060008167ffffffffffffffff811115611a4b57611a4a6121c4565b5b6040519080825280601f01601f191660200182016040528015611a7d5781602001600182028036833780820191505090505b509050600082602001820190505b600115611ae0578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611ad457611ad3612b17565b5b04945060008503611a8b575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ba357508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b645750611b638484610c5d565b5b80611ba257508273ffffffffffffffffffffffffffffffffffffffff16611b8a83610ef3565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c1e5760006040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611c159190611f08565b60405180910390fd5b6000611c2c83836000610f4a565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ca05760006040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401611c979190611f08565b60405180910390fd5b505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611d03577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611cf957611cf8612b17565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611d40576d04ee2d6d415b85acef81000000008381611d3657611d35612b17565b5b0492506020810190505b662386f26fc100008310611d6f57662386f26fc100008381611d6557611d64612b17565b5b0492506010810190505b6305f5e1008310611d98576305f5e1008381611d8e57611d8d612b17565b5b0492506008810190505b6127108310611dbd576127108381611db357611db2612b17565b5b0492506004810190505b60648310611de05760648381611dd657611dd5612b17565b5b0492506002810190505b600a8310611def576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e4181611e0c565b8114611e4c57600080fd5b50565b600081359050611e5e81611e38565b92915050565b600060208284031215611e7a57611e79611e02565b5b6000611e8884828501611e4f565b91505092915050565b60008115159050919050565b611ea681611e91565b82525050565b6000602082019050611ec16000830184611e9d565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ef282611ec7565b9050919050565b611f0281611ee7565b82525050565b6000602082019050611f1d6000830184611ef9565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f5d578082015181840152602081019050611f42565b60008484015250505050565b6000601f19601f8301169050919050565b6000611f8582611f23565b611f8f8185611f2e565b9350611f9f818560208601611f3f565b611fa881611f69565b840191505092915050565b60006020820190508181036000830152611fcd8184611f7a565b905092915050565b6000819050919050565b611fe881611fd5565b8114611ff357600080fd5b50565b60008135905061200581611fdf565b92915050565b60006020828403121561202157612020611e02565b5b600061202f84828501611ff6565b91505092915050565b61204181611ee7565b811461204c57600080fd5b50565b60008135905061205e81612038565b92915050565b6000806040838503121561207b5761207a611e02565b5b60006120898582860161204f565b925050602061209a85828601611ff6565b9150509250929050565b6000806000606084860312156120bd576120bc611e02565b5b60006120cb8682870161204f565b93505060206120dc8682870161204f565b92505060406120ed86828701611ff6565b9150509250925092565b61210081611fd5565b82525050565b600060208201905061211b60008301846120f7565b92915050565b60006020828403121561213757612136611e02565b5b60006121458482850161204f565b91505092915050565b61215781611e91565b811461216257600080fd5b50565b6000813590506121748161214e565b92915050565b6000806040838503121561219157612190611e02565b5b600061219f8582860161204f565b92505060206121b085828601612165565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121fc82611f69565b810181811067ffffffffffffffff8211171561221b5761221a6121c4565b5b80604052505050565b600061222e611df8565b905061223a82826121f3565b919050565b600067ffffffffffffffff82111561225a576122596121c4565b5b61226382611f69565b9050602081019050919050565b82818337600083830152505050565b600061229261228d8461223f565b612224565b9050828152602081018484840111156122ae576122ad6121bf565b5b6122b9848285612270565b509392505050565b600082601f8301126122d6576122d56121ba565b5b81356122e684826020860161227f565b91505092915050565b6000806000806080858703121561230957612308611e02565b5b60006123178782880161204f565b94505060206123288782880161204f565b935050604061233987828801611ff6565b925050606085013567ffffffffffffffff81111561235a57612359611e07565b5b612366878288016122c1565b91505092959194509250565b600067ffffffffffffffff82111561238d5761238c6121c4565b5b61239682611f69565b9050602081019050919050565b60006123b66123b184612372565b612224565b9050828152602081018484840111156123d2576123d16121bf565b5b6123dd848285612270565b509392505050565b600082601f8301126123fa576123f96121ba565b5b813561240a8482602086016123a3565b91505092915050565b60006020828403121561242957612428611e02565b5b600082013567ffffffffffffffff81111561244757612446611e07565b5b612453848285016123e5565b91505092915050565b6000806040838503121561247357612472611e02565b5b60006124818582860161204f565b92505060206124928582860161204f565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806124e357607f821691505b6020821081036124f6576124f561249c565b5b50919050565b60006060820190506125116000830186611ef9565b61251e60208301856120f7565b61252b6040830184611ef9565b949350505050565b7f506c65617365207375626d697420746865206578616374206d696e74696e672060008201527f7072696365000000000000000000000000000000000000000000000000000000602082015250565b600061258f602583611f2e565b915061259a82612533565b604082019050919050565b600060208201905081810360008301526125be81612582565b9050919050565b600081905092915050565b7f697066733a2f2f00000000000000000000000000000000000000000000000000600082015250565b60006126066007836125c5565b9150612611826125d0565b600782019050919050565b60008190508160005260206000209050919050565b6000815461263e816124cb565b61264881866125c5565b945060018216600081146126635760018114612678576126ab565b60ff19831686528115158202860193506126ab565b6126818561261c565b60005b838110156126a357815481890152600182019150602081019050612684565b838801955050505b50505092915050565b60006126bf826125f9565b91506126cb8284612631565b915081905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061271082611fd5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612742576127416126d6565b5b600182019050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261279a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261275d565b6127a4868361275d565b95508019841693508086168417925050509392505050565b6000819050919050565b60006127e16127dc6127d784611fd5565b6127bc565b611fd5565b9050919050565b6000819050919050565b6127fb836127c6565b61280f612807826127e8565b84845461276a565b825550505050565b600090565b612824612817565b61282f8184846127f2565b505050565b5b818110156128535761284860008261281c565b600181019050612835565b5050565b601f821115612898576128698161261c565b6128728461274d565b81016020851015612881578190505b61289561288d8561274d565b830182612834565b50505b505050565b600082821c905092915050565b60006128bb6000198460080261289d565b1980831691505092915050565b60006128d483836128aa565b9150826002028217905092915050565b6128ed82611f23565b67ffffffffffffffff811115612906576129056121c4565b5b61291082546124cb565b61291b828285612857565b600060209050601f83116001811461294e576000841561293c578287015190505b61294685826128c8565b8655506129ae565b601f19841661295c8661261c565b60005b828110156129845784890151825560018201915060208501945060208101905061295f565b868310156129a1578489015161299d601f8916826128aa565b8355505b6001600288020188555050505b505050505050565b60006129c182611f23565b6129cb81856125c5565b93506129db818560208601611f3f565b80840191505092915050565b60006129f382856129b6565b91506129ff82846129b6565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b6000612a3282612a0b565b612a3c8185612a16565b9350612a4c818560208601611f3f565b612a5581611f69565b840191505092915050565b6000608082019050612a756000830187611ef9565b612a826020830186611ef9565b612a8f60408301856120f7565b8181036060830152612aa18184612a27565b905095945050505050565b600081519050612abb81611e38565b92915050565b600060208284031215612ad757612ad6611e02565b5b6000612ae584828501612aac565b91505092915050565b6000604082019050612b036000830185611ef9565b612b1060208301846120f7565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea264697066735822122085ee8695cb5c884bc96974ca1a31453cd038e0e14da2e2823eb5e74e4225e0e364736f6c634300081400330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f2750684eb187ff9f82e2f980f6233707ef5768c