Loading
6080604052600a600b60146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550348015610041575f80fd5b506040518060600160405280602681526020016133a5602691396040518060400160405280600281526020017f5544000000000000000000000000000000000000000000000000000000000000815250815f908161009f9190610508565b5080600190816100af9190610508565b505050600160078190555073ab8483f64d9c6d1ecf9b849ae677dd3315835cb2600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061011f33606461012460201b60201c565b6106ac565b5f6101336102c560201b60201c565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff1611156101985781816040517f6f483d0900000000000000000000000000000000000000000000000000000000815260040161018f92919061062d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610208575f6040517fb6d9900a0000000000000000000000000000000000000000000000000000000081526004016101ff9190610693565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff1681525060085f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b5f612710905090565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061034957607f821691505b60208210810361035c5761035b610305565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026103be7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610383565b6103c88683610383565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61040c610407610402846103e0565b6103e9565b6103e0565b9050919050565b5f819050919050565b610425836103f2565b61043961043182610413565b84845461038f565b825550505050565b5f90565b61044d610441565b61045881848461041c565b505050565b5b8181101561047b576104705f82610445565b60018101905061045e565b5050565b601f8211156104c05761049181610362565b61049a84610374565b810160208510156104a9578190505b6104bd6104b585610374565b83018261045d565b50505b505050565b5f82821c905092915050565b5f6104e05f19846008026104c5565b1980831691505092915050565b5f6104f883836104d1565b9150826002028217905092915050565b610511826102ce565b67ffffffffffffffff81111561052a576105296102d8565b5b6105348254610332565b61053f82828561047f565b5f60209050601f831160018114610570575f841561055e578287015190505b61056885826104ed565b8655506105cf565b601f19841661057e86610362565b5f5b828110156105a557848901518255600182019150602085019450602081019050610580565b868310156105c257848901516105be601f8916826104d1565b8355505b6001600288020188555050505b505050505050565b5f6bffffffffffffffffffffffff82169050919050565b5f6106086106036105fe846105d7565b6103e9565b6103e0565b9050919050565b610618816105ee565b82525050565b610627816103e0565b82525050565b5f6040820190506106405f83018561060f565b61064d602083018461061e565b9392505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61067d82610654565b9050919050565b61068d81610673565b82525050565b5f6020820190506106a65f830184610684565b92915050565b612cec806106b95f395ff3fe6080604052600436106100fd575f3560e01c80636352211e11610094578063a22cb46511610063578063a22cb4651461033a578063b88d4fde14610362578063c87b56dd1461038a578063e985e9c5146103c6578063fb37e88314610402576100fd565b80636352211e1461026e57806370a08231146102aa5780638d859f3e146102e657806395d89b4114610310576100fd565b806323b872dd116100d057806323b872dd146101cb5780632a55205a146101f35780633ccfd60b1461023057806342842e0e14610246576100fd565b806301ffc9a71461010157806306fdde031461013d578063081812fc14610167578063095ea7b3146101a3575b5f80fd5b34801561010c575f80fd5b5061012760048036038101906101229190611f5c565b610432565b6040516101349190611fa1565b60405180910390f35b348015610148575f80fd5b50610151610443565b60405161015e919061202a565b60405180910390f35b348015610172575f80fd5b5061018d6004803603810190610188919061207d565b6104d2565b60405161019a91906120e7565b60405180910390f35b3480156101ae575f80fd5b506101c960048036038101906101c4919061212a565b6104ed565b005b3480156101d6575f80fd5b506101f160048036038101906101ec9190612168565b610503565b005b3480156101fe575f80fd5b50610219600480360381019061021491906121b8565b610602565b604051610227929190612205565b60405180910390f35b34801561023b575f80fd5b506102446107de565b005b348015610251575f80fd5b5061026c60048036038101906102679190612168565b6108bd565b005b348015610279575f80fd5b50610294600480360381019061028f919061207d565b6108dc565b6040516102a191906120e7565b60405180910390f35b3480156102b5575f80fd5b506102d060048036038101906102cb919061222c565b6108ed565b6040516102dd9190612257565b60405180910390f35b3480156102f1575f80fd5b506102fa6109a3565b6040516103079190612257565b60405180910390f35b34801561031b575f80fd5b506103246109ae565b604051610331919061202a565b60405180910390f35b348015610345575f80fd5b50610360600480360381019061035b919061229a565b610a3e565b005b34801561036d575f80fd5b5061038860048036038101906103839190612404565b610a54565b005b348015610395575f80fd5b506103b060048036038101906103ab919061207d565b610a71565b6040516103bd919061202a565b60405180910390f35b3480156103d1575f80fd5b506103ec60048036038101906103e79190612484565b610b7c565b6040516103f99190611fa1565b60405180910390f35b61041c60048036038101906104179190612560565b610c0a565b6040516104299190612257565b60405180910390f35b5f61043c82610d45565b9050919050565b60605f8054610451906125d4565b80601f016020809104026020016040519081016040528092919081815260200182805461047d906125d4565b80156104c85780601f1061049f576101008083540402835291602001916104c8565b820191905f5260205f20905b8154815290600101906020018083116104ab57829003601f168201915b5050505050905090565b5f6104dc82610dbe565b506104e682610e44565b9050919050565b6104ff82826104fa610e7d565b610e84565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610573575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161056a91906120e7565b60405180910390fd5b5f6105868383610581610e7d565b610e96565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105fc578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016105f393929190612604565b60405180910390fd5b50505050565b5f805f60095f8681526020019081526020015f206040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505f73ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff160361078b5760086040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b5f6107946110a1565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff16866107c09190612666565b6107ca91906126d4565b9050815f0151819350935050509250929050565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610871576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108689061274e565b60405180910390fd5b5f4790508173ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f193505050501580156108b8573d5f803e3d5ffd5b505050565b6108d783838360405180602001604052805f815250610a54565b505050565b5f6108e682610dbe565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361095e575f6040517f89c62b6400000000000000000000000000000000000000000000000000000000815260040161095591906120e7565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b662386f26fc1000081565b6060600180546109bd906125d4565b80601f01602080910402602001604051908101604052809291908181526020018280546109e9906125d4565b8015610a345780601f10610a0b57610100808354040283529160200191610a34565b820191905f5260205f20905b815481529060010190602001808311610a1757829003601f168201915b5050505050905090565b610a50610a49610e7d565b83836110aa565b5050565b610a5f848484610503565b610a6b84848484611213565b50505050565b6060610a7c82610dbe565b505f60065f8481526020019081526020015f208054610a9a906125d4565b80601f0160208091040260200160405190810160405280929190818152602001828054610ac6906125d4565b8015610b115780601f10610ae857610100808354040283529160200191610b11565b820191905f5260205f20905b815481529060010190602001808311610af457829003601f168201915b505050505090505f610b216113c5565b90505f815103610b35578192505050610b77565b5f82511115610b69578082604051602001610b519291906127a6565b60405160208183030381529060405292505050610b77565b610b72846113db565b925050505b919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f610c13611441565b662386f26fc10000341015610c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5490612813565b60405180910390fd5b610c67600a611490565b5f610c72600a6114a4565b9050610c7e33826114b0565b610c8881846115a3565b610cce81600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600b60149054906101000a90046bffffffffffffffffffffffff166115fd565b662386f26fc10000341115610d34573373ffffffffffffffffffffffffffffffffffffffff166108fc662386f26fc1000034610d0a9190612831565b90811502906040515f60405180830381858888f19350505050158015610d32573d5f803e3d5ffd5b505b80915050610d406117ac565b919050565b5f7f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610db75750610db6826117b6565b5b9050919050565b5f80610dc983611816565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e3b57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610e329190612257565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610e91838383600161184f565b505050565b5f80610ea184611816565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610ee257610ee1818486611a0e565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610f6d57610f215f855f8061184f565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614610fec57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f612710905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361111a57816040517f5b08ba1800000000000000000000000000000000000000000000000000000000815260040161111191906120e7565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516112069190611fa1565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156113bf578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02611256610e7d565b8685856040518563ffffffff1660e01b815260040161127894939291906128b6565b6020604051808303815f875af19250505080156112b357506040513d601f19601f820116820180604052508101906112b09190612914565b60015b611334573d805f81146112e1576040519150601f19603f3d011682016040523d82523d5f602084013e6112e6565b606091505b505f81510361132c57836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161132391906120e7565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146113bd57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016113b491906120e7565b60405180910390fd5b505b50505050565b606060405180602001604052805f815250905090565b60606113e682610dbe565b505f6113f06113c5565b90505f81511161140e5760405180602001604052805f815250611439565b8061141884611ad1565b6040516020016114299291906127a6565b6040516020818303038152906040525b915050919050565b600260075403611486576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147d90612989565b60405180910390fd5b6002600781905550565b6001815f015f828254019250508190555050565b5f815f01549050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611520575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161151791906120e7565b60405180910390fd5b5f61152c83835f610e96565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461159e575f6040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161159591906120e7565b60405180910390fd5b505050565b8060065f8481526020019081526020015f2090816115c19190612b44565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516115f19190612257565b60405180910390a15050565b5f6116066110a1565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff16111561166d578382826040517fdfd1fc1b00000000000000000000000000000000000000000000000000000000815260040161166493929190612c5a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036116df57835f6040517f969f08520000000000000000000000000000000000000000000000000000000081526004016116d6929190612c8f565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff1681525060095f8681526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff16021790555090505050505050565b6001600781905550565b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061180f575061180e82611b9b565b5b9050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061188757505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156119b9575f61189684610dbe565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561190057508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561191357506119118184610b7c565b155b1561195557826040517fa9fbf51f00000000000000000000000000000000000000000000000000000000815260040161194c91906120e7565b60405180910390fd5b81156119b757838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611a19838383611c7c565b611acc575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a8d57806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611a849190612257565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611ac3929190612205565b60405180910390fd5b505050565b60605f6001611adf84611d3c565b0190505f8167ffffffffffffffff811115611afd57611afc6122e0565b5b6040519080825280601f01601f191660200182016040528015611b2f5781602001600182028036833780820191505090505b5090505f82602001820190505b600115611b90578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611b8557611b846126a7565b5b0494505f8503611b3c575b819350505050919050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611c6557507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611c755750611c7482611e8d565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d3357508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611cf45750611cf38484610b7c565b5b80611d3257508273ffffffffffffffffffffffffffffffffffffffff16611d1a83610e44565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611d98577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611d8e57611d8d6126a7565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611dd5576d04ee2d6d415b85acef81000000008381611dcb57611dca6126a7565b5b0492506020810190505b662386f26fc100008310611e0457662386f26fc100008381611dfa57611df96126a7565b5b0492506010810190505b6305f5e1008310611e2d576305f5e1008381611e2357611e226126a7565b5b0492506008810190505b6127108310611e52576127108381611e4857611e476126a7565b5b0492506004810190505b60648310611e755760648381611e6b57611e6a6126a7565b5b0492506002810190505b600a8310611e84576001810190505b80915050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f3b81611f07565b8114611f45575f80fd5b50565b5f81359050611f5681611f32565b92915050565b5f60208284031215611f7157611f70611eff565b5b5f611f7e84828501611f48565b91505092915050565b5f8115159050919050565b611f9b81611f87565b82525050565b5f602082019050611fb45f830184611f92565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ffc82611fba565b6120068185611fc4565b9350612016818560208601611fd4565b61201f81611fe2565b840191505092915050565b5f6020820190508181035f8301526120428184611ff2565b905092915050565b5f819050919050565b61205c8161204a565b8114612066575f80fd5b50565b5f8135905061207781612053565b92915050565b5f6020828403121561209257612091611eff565b5b5f61209f84828501612069565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120d1826120a8565b9050919050565b6120e1816120c7565b82525050565b5f6020820190506120fa5f8301846120d8565b92915050565b612109816120c7565b8114612113575f80fd5b50565b5f8135905061212481612100565b92915050565b5f80604083850312156121405761213f611eff565b5b5f61214d85828601612116565b925050602061215e85828601612069565b9150509250929050565b5f805f6060848603121561217f5761217e611eff565b5b5f61218c86828701612116565b935050602061219d86828701612116565b92505060406121ae86828701612069565b9150509250925092565b5f80604083850312156121ce576121cd611eff565b5b5f6121db85828601612069565b92505060206121ec85828601612069565b9150509250929050565b6121ff8161204a565b82525050565b5f6040820190506122185f8301856120d8565b61222560208301846121f6565b9392505050565b5f6020828403121561224157612240611eff565b5b5f61224e84828501612116565b91505092915050565b5f60208201905061226a5f8301846121f6565b92915050565b61227981611f87565b8114612283575f80fd5b50565b5f8135905061229481612270565b92915050565b5f80604083850312156122b0576122af611eff565b5b5f6122bd85828601612116565b92505060206122ce85828601612286565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61231682611fe2565b810181811067ffffffffffffffff82111715612335576123346122e0565b5b80604052505050565b5f612347611ef6565b9050612353828261230d565b919050565b5f67ffffffffffffffff821115612372576123716122e0565b5b61237b82611fe2565b9050602081019050919050565b828183375f83830152505050565b5f6123a86123a384612358565b61233e565b9050828152602081018484840111156123c4576123c36122dc565b5b6123cf848285612388565b509392505050565b5f82601f8301126123eb576123ea6122d8565b5b81356123fb848260208601612396565b91505092915050565b5f805f806080858703121561241c5761241b611eff565b5b5f61242987828801612116565b945050602061243a87828801612116565b935050604061244b87828801612069565b925050606085013567ffffffffffffffff81111561246c5761246b611f03565b5b612478878288016123d7565b91505092959194509250565b5f806040838503121561249a57612499611eff565b5b5f6124a785828601612116565b92505060206124b885828601612116565b9150509250929050565b5f67ffffffffffffffff8211156124dc576124db6122e0565b5b6124e582611fe2565b9050602081019050919050565b5f6125046124ff846124c2565b61233e565b9050828152602081018484840111156125205761251f6122dc565b5b61252b848285612388565b509392505050565b5f82601f830112612547576125466122d8565b5b81356125578482602086016124f2565b91505092915050565b5f6020828403121561257557612574611eff565b5b5f82013567ffffffffffffffff81111561259257612591611f03565b5b61259e84828501612533565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806125eb57607f821691505b6020821081036125fe576125fd6125a7565b5b50919050565b5f6060820190506126175f8301866120d8565b61262460208301856121f6565b61263160408301846120d8565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126708261204a565b915061267b8361204a565b92508282026126898161204a565b915082820484148315176126a05761269f612639565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6126de8261204a565b91506126e98361204a565b9250826126f9576126f86126a7565b5b828204905092915050565b7f43616c6c6572206973206e6f7420746865206f776e65720000000000000000005f82015250565b5f612738601783611fc4565b915061274382612704565b602082019050919050565b5f6020820190508181035f8301526127658161272c565b9050919050565b5f81905092915050565b5f61278082611fba565b61278a818561276c565b935061279a818560208601611fd4565b80840191505092915050565b5f6127b18285612776565b91506127bd8284612776565b91508190509392505050565b7f45746865722073656e74206973206e6f7420636f7272656374000000000000005f82015250565b5f6127fd601983611fc4565b9150612808826127c9565b602082019050919050565b5f6020820190508181035f83015261282a816127f1565b9050919050565b5f61283b8261204a565b91506128468361204a565b925082820390508181111561285e5761285d612639565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f61288882612864565b612892818561286e565b93506128a2818560208601611fd4565b6128ab81611fe2565b840191505092915050565b5f6080820190506128c95f8301876120d8565b6128d660208301866120d8565b6128e360408301856121f6565b81810360608301526128f5818461287e565b905095945050505050565b5f8151905061290e81611f32565b92915050565b5f6020828403121561292957612928611eff565b5b5f61293684828501612900565b91505092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f612973601f83611fc4565b915061297e8261293f565b602082019050919050565b5f6020820190508181035f8301526129a081612967565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612a037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826129c8565b612a0d86836129c8565b95508019841693508086168417925050509392505050565b5f819050919050565b5f612a48612a43612a3e8461204a565b612a25565b61204a565b9050919050565b5f819050919050565b612a6183612a2e565b612a75612a6d82612a4f565b8484546129d4565b825550505050565b5f90565b612a89612a7d565b612a94818484612a58565b505050565b5b81811015612ab757612aac5f82612a81565b600181019050612a9a565b5050565b601f821115612afc57612acd816129a7565b612ad6846129b9565b81016020851015612ae5578190505b612af9612af1856129b9565b830182612a99565b50505b505050565b5f82821c905092915050565b5f612b1c5f1984600802612b01565b1980831691505092915050565b5f612b348383612b0d565b9150826002028217905092915050565b612b4d82611fba565b67ffffffffffffffff811115612b6657612b656122e0565b5b612b7082546125d4565b612b7b828285612abb565b5f60209050601f831160018114612bac575f8415612b9a578287015190505b612ba48582612b29565b865550612c0b565b601f198416612bba866129a7565b5f5b82811015612be157848901518255600182019150602085019450602081019050612bbc565b86831015612bfe5784890151612bfa601f891682612b0d565b8355505b6001600288020188555050505b505050505050565b5f6bffffffffffffffffffffffff82169050919050565b5f612c44612c3f612c3a84612c13565b612a25565b61204a565b9050919050565b612c5481612c2a565b82525050565b5f606082019050612c6d5f8301866121f6565b612c7a6020830185612c4b565b612c8760408301846121f6565b949350505050565b5f604082019050612ca25f8301856121f6565b612caf60208301846120d8565b939250505056fea2646970667358221220cc1a526dd69f72827adfed7d3d772a7853825378b96d547ddb05910f4db7a92564736f6c634300081a0033556c74696d6174652044696769747320457468657265756d204d6f62696c65204e756d626572