608060405234801561000f575f80fd5b506040518060400160405280600881526020017f4861696b754e46540000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4841494b55000000000000000000000000000000000000000000000000000000815250815f908161008a9190610300565b50806001908161009a9190610300565b5050506100ad60086100b260201b60201c565b6103cf565b6001815f015f828254019250508190555050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061014157607f821691505b602082108103610154576101536100fd565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101b67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261017b565b6101c0868361017b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6102046101ff6101fa846101d8565b6101e1565b6101d8565b9050919050565b5f819050919050565b61021d836101ea565b6102316102298261020b565b848454610187565b825550505050565b5f90565b610245610239565b610250818484610214565b505050565b5b81811015610273576102685f8261023d565b600181019050610256565b5050565b601f8211156102b8576102898161015a565b6102928461016c565b810160208510156102a1578190505b6102b56102ad8561016c565b830182610255565b50505b505050565b5f82821c905092915050565b5f6102d85f19846008026102bd565b1980831691505092915050565b5f6102f083836102c9565b9150826002028217905092915050565b610309826100c6565b67ffffffffffffffff811115610322576103216100d0565b5b61032c825461012a565b610337828285610277565b5f60209050601f831160018114610368575f8415610356578287015190505b61036085826102e5565b8655506103c7565b601f1984166103768661015a565b5f5b8281101561039d57848901518255600182019150602085019450602081019050610378565b868310156103ba57848901516103b6601f8916826102c9565b8355505b6001600288020188555050505b505050505050565b612e30806103dc5f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c806361bc221a116100ab57806397afe82d1161006f57806397afe82d1461031a578063a22cb4651461034a578063b88d4fde14610366578063c87b56dd14610382578063e985e9c5146103b25761011f565b806361bc221a1461024b5780636352211e1461026957806370a08231146102995780637cb82b2a146102c957806395d89b41146102fc5761011f565b806323b872dd116100f257806323b872dd146101bd5780632c83ea56146101d9578063350fe165146101f557806342842e0e1461021157806349af5bfe1461022d5761011f565b806301ffc9a71461012357806306fdde0314610153578063081812fc14610171578063095ea7b3146101a1575b5f80fd5b61013d60048036038101906101389190612054565b6103e2565b60405161014a9190612099565b60405180910390f35b61015b6104c3565b6040516101689190612122565b60405180910390f35b61018b60048036038101906101869190612175565b610552565b60405161019891906121df565b60405180910390f35b6101bb60048036038101906101b69190612222565b61056d565b005b6101d760048036038101906101d29190612260565b610583565b005b6101f360048036038101906101ee91906122b0565b610682565b005b61020f600480360381019061020a919061241a565b61075f565b005b61022b60048036038101906102269190612260565b6109d5565b005b6102356109f4565b604051610242919061263e565b60405180910390f35b610253610da9565b604051610260919061266d565b60405180910390f35b610283600480360381019061027e9190612175565b610db4565b60405161029091906121df565b60405180910390f35b6102b360048036038101906102ae9190612686565b610dc5565b6040516102c0919061266d565b60405180910390f35b6102e360048036038101906102de9190612175565b610e7b565b6040516102f394939291906126b1565b60405180910390f35b610304611067565b6040516103119190612122565b60405180910390f35b610334600480360381019061032f9190612222565b6110f7565b604051610341919061266d565b60405180910390f35b610364600480360381019061035f9190612733565b611122565b005b610380600480360381019061037b919061280f565b611138565b005b61039c60048036038101906103979190612175565b61115d565b6040516103a99190612122565b60405180910390f35b6103cc60048036038101906103c7919061288f565b6111c3565b6040516103d99190612099565b60405180910390f35b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104ac57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104bc57506104bb82611251565b5b9050919050565b60605f80546104d1906128fa565b80601f01602080910402602001604051908101604052809291908181526020018280546104fd906128fa565b80156105485780601f1061051f57610100808354040283529160200191610548565b820191905f5260205f20905b81548152906001019060200180831161052b57829003601f168201915b5050505050905090565b5f61055c826112ba565b5061056682611340565b9050919050565b61057f828261057a611379565b611380565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105f3575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016105ea91906121df565b60405180910390fd5b5f6106068383610601611379565b611392565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461067c578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016106739392919061292a565b60405180910390fd5b50505050565b3373ffffffffffffffffffffffffffffffffffffffff166106a283610db4565b73ffffffffffffffffffffffffffffffffffffffff16146106fa57816040517f03ce4e320000000000000000000000000000000000000000000000000000000081526004016106f1919061266d565b60405180910390fd5b60075f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2082908060018154018082558091505060019003905f5260205f20015f90919091909150555050565b60098360405161076f9190612999565b90815260200160405180910390205f9054906101000a900460ff16806107bc57506009826040516107a09190612999565b90815260200160405180910390205f9054906101000a900460ff165b806107ee57506009816040516107d29190612999565b90815260200160405180910390205f9054906101000a900460ff165b15610825576040517f693a889e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610830600861159d565b905061083c33826115a9565b600660405180608001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200186815260200185815260200184815250908060018154018082558091505060019003905f5260205f2090600402015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010190816108f49190612b4c565b50604082015181600201908161090a9190612b4c565b5060608201518160030190816109209190612b4c565b50505060016009856040516109359190612999565b90815260200160405180910390205f6101000a81548160ff021916908315150217905550600160098460405161096b9190612999565b90815260200160405180910390205f6101000a81548160ff02191690831515021790555060016009836040516109a19190612999565b90815260200160405180910390205f6101000a81548160ff0219169083151502179055506109cf60086115c6565b50505050565b6109ef83838360405180602001604052805f815250611138565b505050565b60605f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020018280548015610a7c57602002820191905f5260205f20905b815481526020019060010190808311610a68575b505050505090505f815103610abd576040517ff8826a6900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f815167ffffffffffffffff811115610ad957610ad86122f6565b5b604051908082528060200260200182016040528015610b1257816020015b610aff611fb1565b815260200190600190039081610af75790505b5090505f5b8251811015610da05760066001848381518110610b3757610b36612c1b565b5b6020026020010151610b499190612c75565b81548110610b5a57610b59612c1b565b5b905f5260205f2090600402016040518060800160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054610bd5906128fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610c01906128fa565b8015610c4c5780601f10610c2357610100808354040283529160200191610c4c565b820191905f5260205f20905b815481529060010190602001808311610c2f57829003601f168201915b50505050508152602001600282018054610c65906128fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610c91906128fa565b8015610cdc5780601f10610cb357610100808354040283529160200191610cdc565b820191905f5260205f20905b815481529060010190602001808311610cbf57829003601f168201915b50505050508152602001600382018054610cf5906128fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610d21906128fa565b8015610d6c5780601f10610d4357610100808354040283529160200191610d6c565b820191905f5260205f20905b815481529060010190602001808311610d4f57829003601f168201915b505050505081525050828281518110610d8857610d87612c1b565b5b60200260200101819052508080600101915050610b17565b50809250505090565b6008805f0154905081565b5f610dbe826112ba565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e36575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610e2d91906121df565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60068181548110610e8a575f80fd5b905f5260205f2090600402015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054610ece906128fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610efa906128fa565b8015610f455780601f10610f1c57610100808354040283529160200191610f45565b820191905f5260205f20905b815481529060010190602001808311610f2857829003601f168201915b505050505090806002018054610f5a906128fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610f86906128fa565b8015610fd15780601f10610fa857610100808354040283529160200191610fd1565b820191905f5260205f20905b815481529060010190602001808311610fb457829003601f168201915b505050505090806003018054610fe6906128fa565b80601f0160208091040260200160405190810160405280929190818152602001828054611012906128fa565b801561105d5780601f106110345761010080835404028352916020019161105d565b820191905f5260205f20905b81548152906001019060200180831161104057829003601f168201915b5050505050905084565b606060018054611076906128fa565b80601f01602080910402602001604051908101604052809291908181526020018280546110a2906128fa565b80156110ed5780601f106110c4576101008083540402835291602001916110ed565b820191905f5260205f20905b8154815290600101906020018083116110d057829003601f168201915b5050505050905090565b6007602052815f5260405f208181548110611110575f80fd5b905f5260205f20015f91509150505481565b61113461112d611379565b83836115da565b5050565b611143848484610583565b61115761114e611379565b85858585611743565b50505050565b6060611168826112ba565b505f6111726118ef565b90505f8151116111905760405180602001604052805f8152506111bb565b8061119a84611905565b6040516020016111ab929190612ca8565b6040516020818303038152906040525b915050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f806112c5836119cf565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361133757826040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161132e919061266d565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b61138d8383836001611a08565b505050565b5f8061139d846119cf565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146113de576113dd818486611bc7565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114695761141d5f855f80611a08565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146114e857600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f815f01549050919050565b6115c2828260405180602001604052805f815250611c8a565b5050565b6001815f015f828254019250508190555050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361164a57816040517f5b08ba1800000000000000000000000000000000000000000000000000000000815260040161164191906121df565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516117369190612099565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156118e8578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02868685856040518563ffffffff1660e01b81526004016117a19493929190612d1d565b6020604051808303815f875af19250505080156117dc57506040513d601f19601f820116820180604052508101906117d99190612d7b565b60015b61185d573d805f811461180a576040519150601f19603f3d011682016040523d82523d5f602084013e61180f565b606091505b505f81510361185557836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161184c91906121df565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146118e657836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016118dd91906121df565b60405180910390fd5b505b5050505050565b606060405180602001604052805f815250905090565b60605f600161191384611cad565b0190505f8167ffffffffffffffff811115611931576119306122f6565b5b6040519080825280601f01601f1916602001820160405280156119635781602001600182028036833780820191505090505b5090505f82602001820190505b6001156119c4578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816119b9576119b8612da6565b5b0494505f8503611970575b819350505050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8080611a4057505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b72575f611a4f846112ba565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611ab957508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611acc5750611aca81846111c3565b155b15611b0e57826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611b0591906121df565b60405180910390fd5b8115611b7057838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611bd2838383611dfe565b611c85575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c4657806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611c3d919061266d565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611c7c929190612dd3565b60405180910390fd5b505050565b611c948383611ebe565b611ca8611c9f611379565b5f858585611743565b505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611d09577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611cff57611cfe612da6565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611d46576d04ee2d6d415b85acef81000000008381611d3c57611d3b612da6565b5b0492506020810190505b662386f26fc100008310611d7557662386f26fc100008381611d6b57611d6a612da6565b5b0492506010810190505b6305f5e1008310611d9e576305f5e1008381611d9457611d93612da6565b5b0492506008810190505b6127108310611dc3576127108381611db957611db8612da6565b5b0492506004810190505b60648310611de65760648381611ddc57611ddb612da6565b5b0492506002810190505b600a8310611df5576001810190505b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611eb557508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611e765750611e7584846111c3565b5b80611eb457508273ffffffffffffffffffffffffffffffffffffffff16611e9c83611340565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611f2e575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611f2591906121df565b60405180910390fd5b5f611f3a83835f611392565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611fac575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401611fa391906121df565b60405180910390fd5b505050565b60405180608001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61203381611fff565b811461203d575f80fd5b50565b5f8135905061204e8161202a565b92915050565b5f6020828403121561206957612068611ff7565b5b5f61207684828501612040565b91505092915050565b5f8115159050919050565b6120938161207f565b82525050565b5f6020820190506120ac5f83018461208a565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6120f4826120b2565b6120fe81856120bc565b935061210e8185602086016120cc565b612117816120da565b840191505092915050565b5f6020820190508181035f83015261213a81846120ea565b905092915050565b5f819050919050565b61215481612142565b811461215e575f80fd5b50565b5f8135905061216f8161214b565b92915050565b5f6020828403121561218a57612189611ff7565b5b5f61219784828501612161565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121c9826121a0565b9050919050565b6121d9816121bf565b82525050565b5f6020820190506121f25f8301846121d0565b92915050565b612201816121bf565b811461220b575f80fd5b50565b5f8135905061221c816121f8565b92915050565b5f806040838503121561223857612237611ff7565b5b5f6122458582860161220e565b925050602061225685828601612161565b9150509250929050565b5f805f6060848603121561227757612276611ff7565b5b5f6122848682870161220e565b93505060206122958682870161220e565b92505060406122a686828701612161565b9150509250925092565b5f80604083850312156122c6576122c5611ff7565b5b5f6122d385828601612161565b92505060206122e48582860161220e565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61232c826120da565b810181811067ffffffffffffffff8211171561234b5761234a6122f6565b5b80604052505050565b5f61235d611fee565b90506123698282612323565b919050565b5f67ffffffffffffffff821115612388576123876122f6565b5b612391826120da565b9050602081019050919050565b828183375f83830152505050565b5f6123be6123b98461236e565b612354565b9050828152602081018484840111156123da576123d96122f2565b5b6123e584828561239e565b509392505050565b5f82601f830112612401576124006122ee565b5b81356124118482602086016123ac565b91505092915050565b5f805f6060848603121561243157612430611ff7565b5b5f84013567ffffffffffffffff81111561244e5761244d611ffb565b5b61245a868287016123ed565b935050602084013567ffffffffffffffff81111561247b5761247a611ffb565b5b612487868287016123ed565b925050604084013567ffffffffffffffff8111156124a8576124a7611ffb565b5b6124b4868287016123ed565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6124f0816121bf565b82525050565b5f82825260208201905092915050565b5f612510826120b2565b61251a81856124f6565b935061252a8185602086016120cc565b612533816120da565b840191505092915050565b5f608083015f8301516125535f8601826124e7565b506020830151848203602086015261256b8282612506565b915050604083015184820360408601526125858282612506565b9150506060830151848203606086015261259f8282612506565b9150508091505092915050565b5f6125b7838361253e565b905092915050565b5f602082019050919050565b5f6125d5826124be565b6125df81856124c8565b9350836020820285016125f1856124d8565b805f5b8581101561262c578484038952815161260d85826125ac565b9450612618836125bf565b925060208a019950506001810190506125f4565b50829750879550505050505092915050565b5f6020820190508181035f83015261265681846125cb565b905092915050565b61266781612142565b82525050565b5f6020820190506126805f83018461265e565b92915050565b5f6020828403121561269b5761269a611ff7565b5b5f6126a88482850161220e565b91505092915050565b5f6080820190506126c45f8301876121d0565b81810360208301526126d681866120ea565b905081810360408301526126ea81856120ea565b905081810360608301526126fe81846120ea565b905095945050505050565b6127128161207f565b811461271c575f80fd5b50565b5f8135905061272d81612709565b92915050565b5f806040838503121561274957612748611ff7565b5b5f6127568582860161220e565b92505060206127678582860161271f565b9150509250929050565b5f67ffffffffffffffff82111561278b5761278a6122f6565b5b612794826120da565b9050602081019050919050565b5f6127b36127ae84612771565b612354565b9050828152602081018484840111156127cf576127ce6122f2565b5b6127da84828561239e565b509392505050565b5f82601f8301126127f6576127f56122ee565b5b81356128068482602086016127a1565b91505092915050565b5f805f806080858703121561282757612826611ff7565b5b5f6128348782880161220e565b94505060206128458782880161220e565b935050604061285687828801612161565b925050606085013567ffffffffffffffff81111561287757612876611ffb565b5b612883878288016127e2565b91505092959194509250565b5f80604083850312156128a5576128a4611ff7565b5b5f6128b28582860161220e565b92505060206128c38582860161220e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061291157607f821691505b602082108103612924576129236128cd565b5b50919050565b5f60608201905061293d5f8301866121d0565b61294a602083018561265e565b61295760408301846121d0565b949350505050565b5f81905092915050565b5f612973826120b2565b61297d818561295f565b935061298d8185602086016120cc565b80840191505092915050565b5f6129a48284612969565b915081905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612a0b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826129d0565b612a1586836129d0565b95508019841693508086168417925050509392505050565b5f819050919050565b5f612a50612a4b612a4684612142565b612a2d565b612142565b9050919050565b5f819050919050565b612a6983612a36565b612a7d612a7582612a57565b8484546129dc565b825550505050565b5f90565b612a91612a85565b612a9c818484612a60565b505050565b5b81811015612abf57612ab45f82612a89565b600181019050612aa2565b5050565b601f821115612b0457612ad5816129af565b612ade846129c1565b81016020851015612aed578190505b612b01612af9856129c1565b830182612aa1565b50505b505050565b5f82821c905092915050565b5f612b245f1984600802612b09565b1980831691505092915050565b5f612b3c8383612b15565b9150826002028217905092915050565b612b55826120b2565b67ffffffffffffffff811115612b6e57612b6d6122f6565b5b612b7882546128fa565b612b83828285612ac3565b5f60209050601f831160018114612bb4575f8415612ba2578287015190505b612bac8582612b31565b865550612c13565b601f198416612bc2866129af565b5f5b82811015612be957848901518255600182019150602085019450602081019050612bc4565b86831015612c065784890151612c02601f891682612b15565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c7f82612142565b9150612c8a83612142565b9250828203905081811115612ca257612ca1612c48565b5b92915050565b5f612cb38285612969565b9150612cbf8284612969565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f612cef82612ccb565b612cf98185612cd5565b9350612d098185602086016120cc565b612d12816120da565b840191505092915050565b5f608082019050612d305f8301876121d0565b612d3d60208301866121d0565b612d4a604083018561265e565b8181036060830152612d5c8184612ce5565b905095945050505050565b5f81519050612d758161202a565b92915050565b5f60208284031215612d9057612d8f611ff7565b5b5f612d9d84828501612d67565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f604082019050612de65f8301856121d0565b612df3602083018461265e565b939250505056fea2646970667358221220925c90dc0aaf53587814333fbe4aa1a6333051b42780804838c9d75dbb8e495864736f6c634300081a0033