608060405234801561000f575f5ffd5b506040518060400160405280600881526020017f4861696b754e46540000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f484b4e4654000000000000000000000000000000000000000000000000000000815250815f908161008a9190610303565b50806001908161009a9190610303565b5050506100ad60066100b260201b60201c565b6103d2565b6001815f015f828254019250508190555050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061014157607f821691505b602082108103610154576101536100fd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101b67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261017b565b6101c0868361017b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102046101ff6101fa846101d8565b6101e1565b6101d8565b9050919050565b5f819050919050565b61021d836101ea565b6102316102298261020b565b848454610187565b825550505050565b5f5f905090565b610248610239565b610253818484610214565b505050565b5b818110156102765761026b5f82610240565b600181019050610259565b5050565b601f8211156102bb5761028c8161015a565b6102958461016c565b810160208510156102a4578190505b6102b86102b08561016c565b830182610258565b50505b505050565b5f82821c905092915050565b5f6102db5f19846008026102c0565b1980831691505092915050565b5f6102f383836102cc565b9150826002028217905092915050565b61030c826100c6565b67ffffffffffffffff811115610325576103246100d0565b5b61032f825461012a565b61033a82828561027a565b5f60209050601f83116001811461036b575f8415610359578287015190505b61036385826102e8565b8655506103ca565b601f1984166103798661015a565b5f5b828110156103a05784890151825560018201915060208501945060208101905061037b565b868310156103bd57848901516103b9601f8916826102cc565b8355505b6001600288020188555050505b505050505050565b612b8c806103df5f395ff3fe608060405234801561000f575f5ffd5b506004361061011f575f3560e01c80636352211e116100ab578063a22cb4651161006f578063a22cb4651461032c578063ad35ca7214610348578063b88d4fde14610378578063c87b56dd14610394578063e985e9c5146103c45761011f565b80636352211e1461024b57806370a082311461027b5780637cb82b2a146102ab57806395d89b41146102de57806397afe82d146102fc5761011f565b806323b872dd116100f257806323b872dd146101bd5780632c83ea56146101d9578063350fe165146101f557806342842e0e1461021157806361bc221a1461022d5761011f565b806301ffc9a71461012357806306fdde0314610153578063081812fc14610171578063095ea7b3146101a1575b5f5ffd5b61013d60048036038101906101389190611e75565b6103f4565b60405161014a9190611eba565b60405180910390f35b61015b6104d5565b6040516101689190611f43565b60405180910390f35b61018b60048036038101906101869190611f96565b610564565b6040516101989190612000565b60405180910390f35b6101bb60048036038101906101b69190612043565b61057f565b005b6101d760048036038101906101d29190612081565b610595565b005b6101f360048036038101906101ee91906120d1565b610694565b005b61020f600480360381019061020a919061223b565b610789565b005b61022b60048036038101906102269190612081565b6109e9565b005b610235610a08565b60405161024291906122ee565b60405180910390f35b61026560048036038101906102609190611f96565b610a13565b6040516102729190612000565b60405180910390f35b61029560048036038101906102909190612307565b610a24565b6040516102a291906122ee565b60405180910390f35b6102c560048036038101906102c09190611f96565b610ada565b6040516102d59493929190612332565b60405180910390f35b6102e6610cb7565b6040516102f39190611f43565b60405180910390f35b61031660048036038101906103119190612043565b610d47565b60405161032391906122ee565b60405180910390f35b610346600480360381019061034191906123b4565b610d72565b005b610362600480360381019061035d9190612307565b610d88565b60405161036f91906124a9565b60405180910390f35b610392600480360381019061038d9190612567565b610e1b565b005b6103ae60048036038101906103a99190611f96565b610e38565b6040516103bb9190611f43565b60405180910390f35b6103de60048036038101906103d991906125e7565b610e9e565b6040516103eb9190611eba565b60405180910390f35b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104be57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104ce57506104cd82610f2c565b5b9050919050565b60605f80546104e390612652565b80601f016020809104026020016040519081016040528092919081815260200182805461050f90612652565b801561055a5780601f106105315761010080835404028352916020019161055a565b820191905f5260205f20905b81548152906001019060200180831161053d57829003601f168201915b5050505050905090565b5f61056e82610f95565b506105788261101b565b9050919050565b610591828261058c611054565b61105b565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610605575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016105fc9190612000565b60405180910390fd5b5f6106188383610613611054565b61106d565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461068e578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161068593929190612682565b60405180910390fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff166106b483610a13565b73ffffffffffffffffffffffffffffffffffffffff161461070a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161070190612727565b60405180910390fd5b61072433828460405180602001604052805f815250611278565b60095f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082908060018154018082558091505060019003905f5260205f20015f90919091909150555050565b600883604051610799919061277f565b90815260200160405180910390205f9054906101000a900460ff16806107e657506008826040516107ca919061277f565b90815260200160405180910390205f9054906101000a900460ff165b8061081857506008816040516107fc919061277f565b90815260200160405180910390205f9054906101000a900460ff165b1561084f576040517f693a889e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61085a6006611295565b905061086633826112a1565b60405180608001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481526020018381525060075f8381526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010190816109079190612935565b50604082015181600201908161091d9190612935565b5060608201518160030190816109339190612935565b509050506001600885604051610949919061277f565b90815260200160405180910390205f6101000a81548160ff021916908315150217905550600160088460405161097f919061277f565b90815260200160405180910390205f6101000a81548160ff02191690831515021790555060016008836040516109b5919061277f565b90815260200160405180910390205f6101000a81548160ff0219169083151502179055506109e360066112be565b50505050565b610a0383838360405180602001604052805f815250610e1b565b505050565b6006805f0154905081565b5f610a1d82610f95565b9050919050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a95575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610a8c9190612000565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6007602052805f5260405f205f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054610b1e90612652565b80601f0160208091040260200160405190810160405280929190818152602001828054610b4a90612652565b8015610b955780601f10610b6c57610100808354040283529160200191610b95565b820191905f5260205f20905b815481529060010190602001808311610b7857829003601f168201915b505050505090806002018054610baa90612652565b80601f0160208091040260200160405190810160405280929190818152602001828054610bd690612652565b8015610c215780601f10610bf857610100808354040283529160200191610c21565b820191905f5260205f20905b815481529060010190602001808311610c0457829003601f168201915b505050505090806003018054610c3690612652565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6290612652565b8015610cad5780601f10610c8457610100808354040283529160200191610cad565b820191905f5260205f20905b815481529060010190602001808311610c9057829003601f168201915b5050505050905084565b606060018054610cc690612652565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf290612652565b8015610d3d5780601f10610d1457610100808354040283529160200191610d3d565b820191905f5260205f20905b815481529060010190602001808311610d2057829003601f168201915b5050505050905090565b6009602052815f5260405f208181548110610d60575f80fd5b905f5260205f20015f91509150505481565b610d84610d7d611054565b83836112d2565b5050565b606060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015610e0f57602002820191905f5260205f20905b815481526020019060010190808311610dfb575b50505050509050919050565b610e26848484610595565b610e328484848461143b565b50505050565b6060610e4382610f95565b505f610e4d6115ed565b90505f815111610e6b5760405180602001604052805f815250610e96565b80610e7584611603565b604051602001610e86929190612a04565b6040516020818303038152906040525b915050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f5f610fa0836116cd565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361101257826040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161100991906122ee565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b6110688383836001611706565b505050565b5f5f611078846116cd565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146110b9576110b88184866118c5565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611144576110f85f855f5f611706565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146111c357600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b611283848484611988565b61128f8484848461143b565b50505050565b5f815f01549050919050565b6112ba828260405180602001604052805f815250611af0565b5050565b6001815f015f828254019250508190555050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361134257816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016113399190612000565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161142e9190611eba565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156115e7578273ffffffffffffffffffffffffffffffffffffffff1663150b7a0261147e611054565b8685856040518563ffffffff1660e01b81526004016114a09493929190612a79565b6020604051808303815f875af19250505080156114db57506040513d601f19601f820116820180604052508101906114d89190612ad7565b60015b61155c573d805f8114611509576040519150601f19603f3d011682016040523d82523d5f602084013e61150e565b606091505b505f81510361155457836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161154b9190612000565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146115e557836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016115dc9190612000565b60405180910390fd5b505b50505050565b606060405180602001604052805f815250905090565b60605f600161161184611b0b565b0190505f8167ffffffffffffffff81111561162f5761162e612117565b5b6040519080825280601f01601f1916602001820160405280156116615781602001600182028036833780820191505090505b5090505f82602001820190505b6001156116c2578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816116b7576116b6612b02565b5b0494505f850361166e575b819350505050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061173e57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611870575f61174d84610f95565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156117b757508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156117ca57506117c88184610e9e565b155b1561180c57826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016118039190612000565b60405180910390fd5b811561186e57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6118d0838383611c5c565b611983575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361194457806040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161193b91906122ee565b60405180910390fd5b81816040517f177e802f00000000000000000000000000000000000000000000000000000000815260040161197a929190612b2f565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119f8575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016119ef9190612000565b60405180910390fd5b5f611a0483835f61106d565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611a7657816040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611a6d91906122ee565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611aea578382826040517f64283d7b000000000000000000000000000000000000000000000000000000008152600401611ae193929190612682565b60405180910390fd5b50505050565b611afa8383611d1c565b611b065f84848461143b565b505050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611b67577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611b5d57611b5c612b02565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611ba4576d04ee2d6d415b85acef81000000008381611b9a57611b99612b02565b5b0492506020810190505b662386f26fc100008310611bd357662386f26fc100008381611bc957611bc8612b02565b5b0492506010810190505b6305f5e1008310611bfc576305f5e1008381611bf257611bf1612b02565b5b0492506008810190505b6127108310611c21576127108381611c1757611c16612b02565b5b0492506004810190505b60648310611c445760648381611c3a57611c39612b02565b5b0492506002810190505b600a8310611c53576001810190505b80915050919050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d1357508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611cd45750611cd38484610e9e565b5b80611d1257508273ffffffffffffffffffffffffffffffffffffffff16611cfa8361101b565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d8c575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611d839190612000565b60405180910390fd5b5f611d9883835f61106d565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611e0a575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401611e019190612000565b60405180910390fd5b505050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e5481611e20565b8114611e5e575f5ffd5b50565b5f81359050611e6f81611e4b565b92915050565b5f60208284031215611e8a57611e89611e18565b5b5f611e9784828501611e61565b91505092915050565b5f8115159050919050565b611eb481611ea0565b82525050565b5f602082019050611ecd5f830184611eab565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f1582611ed3565b611f1f8185611edd565b9350611f2f818560208601611eed565b611f3881611efb565b840191505092915050565b5f6020820190508181035f830152611f5b8184611f0b565b905092915050565b5f819050919050565b611f7581611f63565b8114611f7f575f5ffd5b50565b5f81359050611f9081611f6c565b92915050565b5f60208284031215611fab57611faa611e18565b5b5f611fb884828501611f82565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fea82611fc1565b9050919050565b611ffa81611fe0565b82525050565b5f6020820190506120135f830184611ff1565b92915050565b61202281611fe0565b811461202c575f5ffd5b50565b5f8135905061203d81612019565b92915050565b5f5f6040838503121561205957612058611e18565b5b5f6120668582860161202f565b925050602061207785828601611f82565b9150509250929050565b5f5f5f6060848603121561209857612097611e18565b5b5f6120a58682870161202f565b93505060206120b68682870161202f565b92505060406120c786828701611f82565b9150509250925092565b5f5f604083850312156120e7576120e6611e18565b5b5f6120f485828601611f82565b92505060206121058582860161202f565b9150509250929050565b5f5ffd5b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61214d82611efb565b810181811067ffffffffffffffff8211171561216c5761216b612117565b5b80604052505050565b5f61217e611e0f565b905061218a8282612144565b919050565b5f67ffffffffffffffff8211156121a9576121a8612117565b5b6121b282611efb565b9050602081019050919050565b828183375f83830152505050565b5f6121df6121da8461218f565b612175565b9050828152602081018484840111156121fb576121fa612113565b5b6122068482856121bf565b509392505050565b5f82601f8301126122225761222161210f565b5b81356122328482602086016121cd565b91505092915050565b5f5f5f6060848603121561225257612251611e18565b5b5f84013567ffffffffffffffff81111561226f5761226e611e1c565b5b61227b8682870161220e565b935050602084013567ffffffffffffffff81111561229c5761229b611e1c565b5b6122a88682870161220e565b925050604084013567ffffffffffffffff8111156122c9576122c8611e1c565b5b6122d58682870161220e565b9150509250925092565b6122e881611f63565b82525050565b5f6020820190506123015f8301846122df565b92915050565b5f6020828403121561231c5761231b611e18565b5b5f6123298482850161202f565b91505092915050565b5f6080820190506123455f830187611ff1565b81810360208301526123578186611f0b565b9050818103604083015261236b8185611f0b565b9050818103606083015261237f8184611f0b565b905095945050505050565b61239381611ea0565b811461239d575f5ffd5b50565b5f813590506123ae8161238a565b92915050565b5f5f604083850312156123ca576123c9611e18565b5b5f6123d78582860161202f565b92505060206123e8858286016123a0565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61242481611f63565b82525050565b5f612435838361241b565b60208301905092915050565b5f602082019050919050565b5f612457826123f2565b61246181856123fc565b935061246c8361240c565b805f5b8381101561249c578151612483888261242a565b975061248e83612441565b92505060018101905061246f565b5085935050505092915050565b5f6020820190508181035f8301526124c1818461244d565b905092915050565b5f67ffffffffffffffff8211156124e3576124e2612117565b5b6124ec82611efb565b9050602081019050919050565b5f61250b612506846124c9565b612175565b90508281526020810184848401111561252757612526612113565b5b6125328482856121bf565b509392505050565b5f82601f83011261254e5761254d61210f565b5b813561255e8482602086016124f9565b91505092915050565b5f5f5f5f6080858703121561257f5761257e611e18565b5b5f61258c8782880161202f565b945050602061259d8782880161202f565b93505060406125ae87828801611f82565b925050606085013567ffffffffffffffff8111156125cf576125ce611e1c565b5b6125db8782880161253a565b91505092959194509250565b5f5f604083850312156125fd576125fc611e18565b5b5f61260a8582860161202f565b925050602061261b8582860161202f565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061266957607f821691505b60208210810361267c5761267b612625565b5b50919050565b5f6060820190506126955f830186611ff1565b6126a260208301856122df565b6126af6040830184611ff1565b949350505050565b7f596f7520617265206e6f7420746865206f776e6572206f6620746869732048615f8201527f696b752e00000000000000000000000000000000000000000000000000000000602082015250565b5f612711602483611edd565b915061271c826126b7565b604082019050919050565b5f6020820190508181035f83015261273e81612705565b9050919050565b5f81905092915050565b5f61275982611ed3565b6127638185612745565b9350612773818560208601611eed565b80840191505092915050565b5f61278a828461274f565b915081905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026127f17fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826127b6565b6127fb86836127b6565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61283661283161282c84611f63565b612813565b611f63565b9050919050565b5f819050919050565b61284f8361281c565b61286361285b8261283d565b8484546127c2565b825550505050565b5f5f905090565b61287a61286b565b612885818484612846565b505050565b5b818110156128a85761289d5f82612872565b60018101905061288b565b5050565b601f8211156128ed576128be81612795565b6128c7846127a7565b810160208510156128d6578190505b6128ea6128e2856127a7565b83018261288a565b50505b505050565b5f82821c905092915050565b5f61290d5f19846008026128f2565b1980831691505092915050565b5f61292583836128fe565b9150826002028217905092915050565b61293e82611ed3565b67ffffffffffffffff81111561295757612956612117565b5b6129618254612652565b61296c8282856128ac565b5f60209050601f83116001811461299d575f841561298b578287015190505b612995858261291a565b8655506129fc565b601f1984166129ab86612795565b5f5b828110156129d2578489015182556001820191506020850194506020810190506129ad565b868310156129ef57848901516129eb601f8916826128fe565b8355505b6001600288020188555050505b505050505050565b5f612a0f828561274f565b9150612a1b828461274f565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f612a4b82612a27565b612a558185612a31565b9350612a65818560208601611eed565b612a6e81611efb565b840191505092915050565b5f608082019050612a8c5f830187611ff1565b612a996020830186611ff1565b612aa660408301856122df565b8181036060830152612ab88184612a41565b905095945050505050565b5f81519050612ad181611e4b565b92915050565b5f60208284031215612aec57612aeb611e18565b5b5f612af984828501612ac3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f604082019050612b425f830185611ff1565b612b4f60208301846122df565b939250505056fea2646970667358221220f10cf829f5ea5e540fe03087fe0be07e9da9680edf48ba0f83f9378c11f3e1bc64736f6c634300081b0033