6080604052620186a0600d55348015610016575f80fd5b506040518060400160405280600a81526020017f54616c656e74204b6579000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f544b455900000000000000000000000000000000000000000000000000000000815250815f908161009191906102e3565b5080600190816100a191906102e3565b5050506103b2565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061012457607f821691505b602082108103610137576101366100e0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101997fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261015e565b6101a3868361015e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101e76101e26101dd846101bb565b6101c4565b6101bb565b9050919050565b5f819050919050565b610200836101cd565b61021461020c826101ee565b84845461016a565b825550505050565b5f90565b61022861021c565b6102338184846101f7565b505050565b5b818110156102565761024b5f82610220565b600181019050610239565b5050565b601f82111561029b5761026c8161013d565b6102758461014f565b81016020851015610284578190505b6102986102908561014f565b830182610238565b50505b505050565b5f82821c905092915050565b5f6102bb5f19846008026102a0565b1980831691505092915050565b5f6102d383836102ac565b9150826002028217905092915050565b6102ec826100a9565b67ffffffffffffffff811115610305576103046100b3565b5b61030f825461010d565b61031a82828561025a565b5f60209050601f83116001811461034b575f8415610339578287015190505b61034385826102c8565b8655506103aa565b601f1984166103598661013d565b5f5b828110156103805784890151825560018201915060208501945060208101905061035b565b8683101561039d5784890151610399601f8916826102ac565b8355505b6001600288020188555050505b505050505050565b612aa2806103bf5f395ff3fe608060405234801561000f575f80fd5b5060043610610109575f3560e01c80634f6ccce7116100a0578063a22cb4651161006f578063a22cb465146102db578063b88d4fde146102f7578063c87b56dd14610313578063d204c45e14610343578063e985e9c51461035f57610109565b80634f6ccce71461022d5780636352211e1461025d57806370a082311461028d57806395d89b41146102bd57610109565b806318160ddd116100dc57806318160ddd146101a757806323b872dd146101c55780632f745c59146101e157806342842e0e1461021157610109565b806301ffc9a71461010d57806306fdde031461013d578063081812fc1461015b578063095ea7b31461018b575b5f80fd5b61012760048036038101906101229190611e80565b61038f565b6040516101349190611ec5565b60405180910390f35b6101456103a0565b6040516101529190611f4e565b60405180910390f35b61017560048036038101906101709190611fa1565b61042f565b604051610182919061200b565b60405180910390f35b6101a560048036038101906101a0919061204e565b61044a565b005b6101af610460565b6040516101bc919061209b565b60405180910390f35b6101df60048036038101906101da91906120b4565b61046c565b005b6101fb60048036038101906101f6919061204e565b61056b565b604051610208919061209b565b60405180910390f35b61022b600480360381019061022691906120b4565b61060f565b005b61024760048036038101906102429190611fa1565b61062e565b604051610254919061209b565b60405180910390f35b61027760048036038101906102729190611fa1565b6106a0565b604051610284919061200b565b60405180910390f35b6102a760048036038101906102a29190612104565b6106b1565b6040516102b4919061209b565b60405180910390f35b6102c5610767565b6040516102d29190611f4e565b60405180910390f35b6102f560048036038101906102f09190612159565b6107f7565b005b610311600480360381019061030c91906122c3565b61080d565b005b61032d60048036038101906103289190611fa1565b61082a565b60405161033a9190611f4e565b60405180910390f35b61035d600480360381019061035891906123e1565b61083c565b005b6103796004803603810190610374919061243b565b6108bc565b6040516103869190611ec5565b60405180910390f35b5f6103998261094a565b9050919050565b60605f80546103ae906124a6565b80601f01602080910402602001604051908101604052809291908181526020018280546103da906124a6565b80156104255780601f106103fc57610100808354040283529160200191610425565b820191905f5260205f20905b81548152906001019060200180831161040857829003601f168201915b5050505050905090565b5f610439826109aa565b5061044382610a30565b9050919050565b61045c8282610457610a69565b610a70565b5050565b5f600880549050905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104dc575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016104d3919061200b565b60405180910390fd5b5f6104ef83836104ea610a69565b610a82565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610565578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161055c939291906124d6565b60405180910390fd5b50505050565b5f610575836106b1565b82106105ba5782826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016105b192919061250b565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b61062983838360405180602001604052805f81525061080d565b505050565b5f610637610460565b821061067c575f826040517fa57d13dc00000000000000000000000000000000000000000000000000000000815260040161067392919061250b565b60405180910390fd5b600882815481106106905761068f612532565b5b905f5260205f2001549050919050565b5f6106aa826109aa565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610722575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610719919061200b565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b606060018054610776906124a6565b80601f01602080910402602001604051908101604052809291908181526020018280546107a2906124a6565b80156107ed5780601f106107c4576101008083540402835291602001916107ed565b820191905f5260205f20905b8154815290600101906020018083116107d057829003601f168201915b5050505050905090565b610809610802610a69565b8383610a97565b5050565b61081884848461046c565b61082484848484610c00565b50505050565b606061083582610db2565b9050919050565b5f600b5f81548092919061084f9061258c565b91905055905061085f8382610ebd565b6108698183610eda565b600d54610876600c610f34565b11156108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae9061261d565b60405180910390fd5b505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109a357506109a282610f40565b5b9050919050565b5f806109b583610fb9565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a2757826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610a1e919061209b565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610a7d8383836001610ff2565b505050565b5f610a8e8484846111b1565b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610b0757816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401610afe919061200b565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610bf39190611ec5565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115610dac578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02610c43610a69565b8685856040518563ffffffff1660e01b8152600401610c65949392919061268d565b6020604051808303815f875af1925050508015610ca057506040513d601f19601f82011682018060405250810190610c9d91906126eb565b60015b610d21573d805f8114610cce576040519150601f19603f3d011682016040523d82523d5f602084013e610cd3565b606091505b505f815103610d1957836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610d10919061200b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614610daa57836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401610da1919061200b565b60405180910390fd5b505b50505050565b6060610dbd826109aa565b505f600a5f8481526020019081526020015f208054610ddb906124a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610e07906124a6565b8015610e525780601f10610e2957610100808354040283529160200191610e52565b820191905f5260205f20905b815481529060010190602001808311610e3557829003601f168201915b505050505090505f610e626112cb565b90505f815103610e76578192505050610eb8565b5f82511115610eaa578082604051602001610e92929190612750565b60405160208183030381529060405292505050610eb8565b610eb3846112e1565b925050505b919050565b610ed6828260405180602001604052805f815250611347565b5050565b80600a5f8481526020019081526020015f209081610ef89190612910565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce782604051610f28919061209b565b60405180910390a15050565b5f815f01549050919050565b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610fb25750610fb182611362565b5b9050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061102a57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561115c575f611039846109aa565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156110a357508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156110b657506110b481846108bc565b155b156110f857826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016110ef919061200b565b60405180910390fd5b811561115a57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f806111be858585611443565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611201576111fc8461164e565b611240565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461123f5761123e8185611692565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036112815761127c846117dc565b6112c0565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146112bf576112be858561189c565b5b5b809150509392505050565b606060405180602001604052805f815250905090565b60606112ec826109aa565b505f6112f66112cb565b90505f8151116113145760405180602001604052805f81525061133f565b8061131e84611920565b60405160200161132f929190612750565b6040516020818303038152906040525b915050919050565b61135183836119ea565b61135d5f848484610c00565b505050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061142c57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061143c575061143b82611add565b5b9050919050565b5f8061144e84610fb9565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461148f5761148e818486611b46565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461151a576114ce5f855f80610ff2565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461159957600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f61169c836106b1565b90505f60075f8481526020019081526020015f20549050818114611773575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f60016008805490506117ef91906129df565b90505f60095f8481526020019081526020015f205490505f6008838154811061181b5761181a612532565b5b905f5260205f2001549050806008838154811061183b5761183a612532565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f9055600880548061188357611882612a12565b5b600190038181905f5260205f20015f9055905550505050565b5f60016118a8846106b1565b6118b291906129df565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b60605f600161192e84611c09565b0190505f8167ffffffffffffffff81111561194c5761194b61219f565b5b6040519080825280601f01601f19166020018201604052801561197e5781602001600182028036833780820191505090505b5090505f82602001820190505b6001156119df578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816119d4576119d3612a3f565b5b0494505f850361198b575b819350505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a5a575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611a51919061200b565b60405180910390fd5b5f611a6683835f610a82565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ad8575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401611acf919061200b565b60405180910390fd5b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611b51838383611d5a565b611c04575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bc557806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611bbc919061209b565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611bfb92919061250b565b60405180910390fd5b505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611c65577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611c5b57611c5a612a3f565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611ca2576d04ee2d6d415b85acef81000000008381611c9857611c97612a3f565b5b0492506020810190505b662386f26fc100008310611cd157662386f26fc100008381611cc757611cc6612a3f565b5b0492506010810190505b6305f5e1008310611cfa576305f5e1008381611cf057611cef612a3f565b5b0492506008810190505b6127108310611d1f576127108381611d1557611d14612a3f565b5b0492506004810190505b60648310611d425760648381611d3857611d37612a3f565b5b0492506002810190505b600a8310611d51576001810190505b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e1157508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611dd25750611dd184846108bc565b5b80611e1057508273ffffffffffffffffffffffffffffffffffffffff16611df883610a30565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e5f81611e2b565b8114611e69575f80fd5b50565b5f81359050611e7a81611e56565b92915050565b5f60208284031215611e9557611e94611e23565b5b5f611ea284828501611e6c565b91505092915050565b5f8115159050919050565b611ebf81611eab565b82525050565b5f602082019050611ed85f830184611eb6565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f2082611ede565b611f2a8185611ee8565b9350611f3a818560208601611ef8565b611f4381611f06565b840191505092915050565b5f6020820190508181035f830152611f668184611f16565b905092915050565b5f819050919050565b611f8081611f6e565b8114611f8a575f80fd5b50565b5f81359050611f9b81611f77565b92915050565b5f60208284031215611fb657611fb5611e23565b5b5f611fc384828501611f8d565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611ff582611fcc565b9050919050565b61200581611feb565b82525050565b5f60208201905061201e5f830184611ffc565b92915050565b61202d81611feb565b8114612037575f80fd5b50565b5f8135905061204881612024565b92915050565b5f806040838503121561206457612063611e23565b5b5f6120718582860161203a565b925050602061208285828601611f8d565b9150509250929050565b61209581611f6e565b82525050565b5f6020820190506120ae5f83018461208c565b92915050565b5f805f606084860312156120cb576120ca611e23565b5b5f6120d88682870161203a565b93505060206120e98682870161203a565b92505060406120fa86828701611f8d565b9150509250925092565b5f6020828403121561211957612118611e23565b5b5f6121268482850161203a565b91505092915050565b61213881611eab565b8114612142575f80fd5b50565b5f813590506121538161212f565b92915050565b5f806040838503121561216f5761216e611e23565b5b5f61217c8582860161203a565b925050602061218d85828601612145565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6121d582611f06565b810181811067ffffffffffffffff821117156121f4576121f361219f565b5b80604052505050565b5f612206611e1a565b905061221282826121cc565b919050565b5f67ffffffffffffffff8211156122315761223061219f565b5b61223a82611f06565b9050602081019050919050565b828183375f83830152505050565b5f61226761226284612217565b6121fd565b9050828152602081018484840111156122835761228261219b565b5b61228e848285612247565b509392505050565b5f82601f8301126122aa576122a9612197565b5b81356122ba848260208601612255565b91505092915050565b5f805f80608085870312156122db576122da611e23565b5b5f6122e88782880161203a565b94505060206122f98782880161203a565b935050604061230a87828801611f8d565b925050606085013567ffffffffffffffff81111561232b5761232a611e27565b5b61233787828801612296565b91505092959194509250565b5f67ffffffffffffffff82111561235d5761235c61219f565b5b61236682611f06565b9050602081019050919050565b5f61238561238084612343565b6121fd565b9050828152602081018484840111156123a1576123a061219b565b5b6123ac848285612247565b509392505050565b5f82601f8301126123c8576123c7612197565b5b81356123d8848260208601612373565b91505092915050565b5f80604083850312156123f7576123f6611e23565b5b5f6124048582860161203a565b925050602083013567ffffffffffffffff81111561242557612424611e27565b5b612431858286016123b4565b9150509250929050565b5f806040838503121561245157612450611e23565b5b5f61245e8582860161203a565b925050602061246f8582860161203a565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806124bd57607f821691505b6020821081036124d0576124cf612479565b5b50919050565b5f6060820190506124e95f830186611ffc565b6124f6602083018561208c565b6125036040830184611ffc565b949350505050565b5f60408201905061251e5f830185611ffc565b61252b602083018461208c565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61259682611f6e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125c8576125c761255f565b5b600182019050919050565b7f49276d20736f72727920776520726561636865642074686520636170000000005f82015250565b5f612607601c83611ee8565b9150612612826125d3565b602082019050919050565b5f6020820190508181035f830152612634816125fb565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f61265f8261263b565b6126698185612645565b9350612679818560208601611ef8565b61268281611f06565b840191505092915050565b5f6080820190506126a05f830187611ffc565b6126ad6020830186611ffc565b6126ba604083018561208c565b81810360608301526126cc8184612655565b905095945050505050565b5f815190506126e581611e56565b92915050565b5f60208284031215612700576126ff611e23565b5b5f61270d848285016126d7565b91505092915050565b5f81905092915050565b5f61272a82611ede565b6127348185612716565b9350612744818560208601611ef8565b80840191505092915050565b5f61275b8285612720565b91506127678284612720565b91508190509392505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026127cf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612794565b6127d98683612794565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61281461280f61280a84611f6e565b6127f1565b611f6e565b9050919050565b5f819050919050565b61282d836127fa565b6128416128398261281b565b8484546127a0565b825550505050565b5f90565b612855612849565b612860818484612824565b505050565b5b81811015612883576128785f8261284d565b600181019050612866565b5050565b601f8211156128c85761289981612773565b6128a284612785565b810160208510156128b1578190505b6128c56128bd85612785565b830182612865565b50505b505050565b5f82821c905092915050565b5f6128e85f19846008026128cd565b1980831691505092915050565b5f61290083836128d9565b9150826002028217905092915050565b61291982611ede565b67ffffffffffffffff8111156129325761293161219f565b5b61293c82546124a6565b612947828285612887565b5f60209050601f831160018114612978575f8415612966578287015190505b61297085826128f5565b8655506129d7565b601f19841661298686612773565b5f5b828110156129ad57848901518255600182019150602085019450602081019050612988565b868310156129ca57848901516129c6601f8916826128d9565b8355505b6001600288020188555050505b505050505050565b5f6129e982611f6e565b91506129f483611f6e565b9250828203905081811115612a0c57612a0b61255f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea26469706673582212201692ac9e4f4e70e0ea6539f73d9c5f9149d24000c97db7718f62fa853eb02fb964736f6c634300081a0033