6101606040525f601255348015610014575f80fd5b506040516157ee3803806157ee833981810160405281019061003691906104b1565b6040518060400160405280600781526020017f4d79546f6b656e000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250826040518060400160405280600781526020017f4d79546f6b656e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d544b0000000000000000000000000000000000000000000000000000000000815250815f908161011d9190610716565b50806001908161012d9190610716565b5050505f600b5f6101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036101b9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016101b091906107f4565b60405180910390fd5b6101c88161027960201b60201c565b506101dd600c8361033e60201b90919060201c565b61012081815250506101f9600d8261033e60201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a0818152505061023661038b60201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050505061099e565b5f600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60208351101561035f57610358836103e560201b60201c565b9050610385565b8261036f8361044a60201b60201c565b5f01908161037d9190610716565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016103ca959493929190610834565b60405160208183030381529060405280519060200120905090565b5f80829050601f8151111561043157826040517f305a27a900000000000000000000000000000000000000000000000000000000815260040161042891906108eb565b60405180910390fd5b80518161043d90610938565b5f1c175f1b915050919050565b5f819050919050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61048082610457565b9050919050565b61049081610476565b811461049a575f80fd5b50565b5f815190506104ab81610487565b92915050565b5f602082840312156104c6576104c5610453565b5b5f6104d38482850161049d565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061055757607f821691505b60208210810361056a57610569610513565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105cc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610591565b6105d68683610591565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61061a610615610610846105ee565b6105f7565b6105ee565b9050919050565b5f819050919050565b61063383610600565b61064761063f82610621565b84845461059d565b825550505050565b5f90565b61065b61064f565b61066681848461062a565b505050565b5b818110156106895761067e5f82610653565b60018101905061066c565b5050565b601f8211156106ce5761069f81610570565b6106a884610582565b810160208510156106b7578190505b6106cb6106c385610582565b83018261066b565b50505b505050565b5f82821c905092915050565b5f6106ee5f19846008026106d3565b1980831691505092915050565b5f61070683836106df565b9150826002028217905092915050565b61071f826104dc565b67ffffffffffffffff811115610738576107376104e6565b5b6107428254610540565b61074d82828561068d565b5f60209050601f83116001811461077e575f841561076c578287015190505b61077685826106fb565b8655506107dd565b601f19841661078c86610570565b5f5b828110156107b35784890151825560018201915060208501945060208101905061078e565b868310156107d057848901516107cc601f8916826106df565b8355505b6001600288020188555050505b505050505050565b6107ee81610476565b82525050565b5f6020820190506108075f8301846107e5565b92915050565b5f819050919050565b61081f8161080d565b82525050565b61082e816105ee565b82525050565b5f60a0820190506108475f830188610816565b6108546020830187610816565b6108616040830186610816565b61086e6060830185610825565b61087b60808301846107e5565b9695505050505050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6108bd826104dc565b6108c78185610885565b93506108d7818560208601610895565b6108e0816108a3565b840191505092915050565b5f6020820190508181035f83015261090381846108b3565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f61092f825161080d565b80915050919050565b5f6109428261090b565b8261094c84610915565b905061095781610924565b92506020821015610997576109927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802610591565b831692505b5050919050565b60805160a05160c05160e051610100516101205161014051614dff6109ef5f395f6117d701525f61179c01525f612dab01525f612d8a01525f61260a01525f61266001525f6126890152614dff5ff3fe608060405234801561000f575f80fd5b5060043610610204575f3560e01c806370a082311161011857806395d89b41116100ab578063c3cda5201161007a578063c3cda520146105f0578063c87b56dd1461060c578063d204c45e1461063c578063e985e9c514610658578063f2fde38b1461068857610204565b806395d89b411461056a5780639ab24eb014610588578063a22cb465146105b8578063b88d4fde146105d457610204565b806384b0196e116100e757806384b0196e146104da5780638da5cb5b146104fe5780638e539e8c1461051c57806391ddadf41461054c57610204565b806370a0823114610466578063715018a6146104965780637ecebe00146104a05780638456cb59146104d057610204565b80633f4ba83a1161019b5780634f6ccce71161016a5780634f6ccce71461039c578063587cde1e146103cc5780635c19a95c146103fc5780635c975abb146104185780636352211e1461043657610204565b80633f4ba83a1461033c57806342842e0e1461034657806342966c68146103625780634bf5d7e91461037e57610204565b806318160ddd116101d757806318160ddd146102a257806323b872dd146102c05780632f745c59146102dc5780633a46b1a81461030c57610204565b806301ffc9a71461020857806306fdde0314610238578063081812fc14610256578063095ea7b314610286575b5f80fd5b610222600480360381019061021d9190613c3c565b6106a4565b60405161022f9190613c81565b60405180910390f35b6102406106b5565b60405161024d9190613d0a565b60405180910390f35b610270600480360381019061026b9190613d5d565b610744565b60405161027d9190613dc7565b60405180910390f35b6102a0600480360381019061029b9190613e0a565b61075f565b005b6102aa610775565b6040516102b79190613e57565b60405180910390f35b6102da60048036038101906102d59190613e70565b610781565b005b6102f660048036038101906102f19190613e0a565b610880565b6040516103039190613e57565b60405180910390f35b61032660048036038101906103219190613e0a565b610924565b6040516103339190613e57565b60405180910390f35b6103446109fa565b005b610360600480360381019061035b9190613e70565b610a0c565b005b61037c60048036038101906103779190613d5d565b610a2b565b005b610386610a41565b6040516103939190613d0a565b60405180910390f35b6103b660048036038101906103b19190613d5d565b610ad5565b6040516103c39190613e57565b60405180910390f35b6103e660048036038101906103e19190613ec0565b610b47565b6040516103f39190613dc7565b60405180910390f35b61041660048036038101906104119190613ec0565b610bac565b005b610420610bc5565b60405161042d9190613c81565b60405180910390f35b610450600480360381019061044b9190613d5d565b610bda565b60405161045d9190613dc7565b60405180910390f35b610480600480360381019061047b9190613ec0565b610beb565b60405161048d9190613e57565b60405180910390f35b61049e610ca1565b005b6104ba60048036038101906104b59190613ec0565b610cb4565b6040516104c79190613e57565b60405180910390f35b6104d8610cfa565b005b6104e2610d0c565b6040516104f59796959493929190613ff4565b60405180910390f35b610506610db1565b6040516105139190613dc7565b60405180910390f35b61053660048036038101906105319190613d5d565b610dda565b6040516105439190613e57565b60405180910390f35b610554610e74565b6040516105619190614096565b60405180910390f35b610572610e82565b60405161057f9190613d0a565b60405180910390f35b6105a2600480360381019061059d9190613ec0565b610f12565b6040516105af9190613e57565b60405180910390f35b6105d260048036038101906105cd91906140d9565b610f7b565b005b6105ee60048036038101906105e99190614243565b610f91565b005b61060a60048036038101906106059190614323565b610fb6565b005b61062660048036038101906106219190613d5d565b61107b565b6040516106339190613d0a565b60405180910390f35b6106566004803603810190610651919061444a565b61108d565b005b610672600480360381019061066d91906144a4565b6110c0565b60405161067f9190613c81565b60405180910390f35b6106a2600480360381019061069d9190613ec0565b61114e565b005b5f6106ae826111d2565b9050919050565b60605f80546106c39061450f565b80601f01602080910402602001604051908101604052809291908181526020018280546106ef9061450f565b801561073a5780601f106107115761010080835404028352916020019161073a565b820191905f5260205f20905b81548152906001019060200180831161071d57829003601f168201915b5050505050905090565b5f61074e82611232565b50610758826112b8565b9050919050565b610771828261076c6112f1565b6112f8565b5050565b5f600880549050905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107f1575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016107e89190613dc7565b60405180910390fd5b5f61080483836107ff6112f1565b61130a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461087a578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016108719392919061453f565b60405180910390fd5b50505050565b5f61088a83610beb565b82106108cf5782826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016108c6929190614574565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b5f8061092e610e74565b90508065ffffffffffff16831061097e5782816040517fecd3f81e00000000000000000000000000000000000000000000000000000000815260040161097592919061459b565b60405180910390fd5b6109d561098a8461131f565b60105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061137890919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1691505092915050565b610a02611465565b610a0a6114ec565b565b610a2683838360405180602001604052805f815250610f91565b505050565b610a3d5f82610a386112f1565b61130a565b5050565b6060610a4b61154d565b65ffffffffffff16610a5b610e74565b65ffffffffffff1614610a9a576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b5f610ade610775565b8210610b23575f826040517fa57d13dc000000000000000000000000000000000000000000000000000000008152600401610b1a929190614574565b60405180910390fd5b60088281548110610b3757610b366145c2565b5b905f5260205f2001549050919050565b5f600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f610bb56112f1565b9050610bc1818361155c565b5050565b5f600b5f9054906101000a900460ff16905090565b5f610be482611232565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c5c575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610c539190613dc7565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610ca9611465565b610cb25f61166c565b565b5f600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610d02611465565b610d0a611731565b565b5f6060805f805f6060610d1d611793565b610d256117ce565b46305f801b5f67ffffffffffffffff811115610d4457610d4361411f565b5b604051908082528060200260200182016040528015610d725781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80610de4610e74565b90508065ffffffffffff168310610e345782816040517fecd3f81e000000000000000000000000000000000000000000000000000000008152600401610e2b92919061459b565b60405180910390fd5b610e50610e408461131f565b601161137890919063ffffffff16565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915050919050565b5f610e7d61154d565b905090565b606060018054610e919061450f565b80601f0160208091040260200160405190810160405280929190818152602001828054610ebd9061450f565b8015610f085780601f10610edf57610100808354040283529160200191610f08565b820191905f5260205f20905b815481529060010190602001808311610eeb57829003601f168201915b5050505050905090565b5f610f5860105f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611809565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b610f8d610f866112f1565b838361186b565b5050565b610f9c848484610781565b610fb0610fa76112f1565b858585856119d4565b50505050565b83421115610ffb57836040517f4683af0e000000000000000000000000000000000000000000000000000000008152600401610ff29190613e57565b60405180910390fd5b5f61105c6110547fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf89898960405160200161103994939291906145ef565b60405160208183030381529060405280519060200120611b80565b858585611b99565b90506110688187611bc7565b611072818861155c565b50505050505050565b606061108682611c1e565b9050919050565b61109982601254611d29565b6110a560125482611d46565b60125f8154809291906110b79061465f565b91905055505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b611156611465565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111c6575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016111bd9190613dc7565b60405180910390fd5b6111cf8161166c565b50565b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061122b575061122a82611da0565b5b9050919050565b5f8061123d83611e19565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112af57826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016112a69190613e57565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b6113058383836001611e52565b505050565b5f611316848484612011565b90509392505050565b5f65ffffffffffff8016821115611370576030826040517f6dfcc6500000000000000000000000000000000000000000000000000000000081526004016113679291906146e8565b60405180910390fd5b819050919050565b5f80835f018054905090505f8082905060058311156113f9575f61139b84612037565b846113a6919061470f565b90506113b4875f01826121d1565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff168665ffffffffffff1610156113e7578091506113f7565b6001816113f49190614742565b92505b505b5f611408875f018785856121e3565b90505f811461145757611429875f01600183611424919061470f565b6121d1565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611459565b5f5b94505050505092915050565b61146d6112f1565b73ffffffffffffffffffffffffffffffffffffffff1661148b610db1565b73ffffffffffffffffffffffffffffffffffffffff16146114ea576114ae6112f1565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016114e19190613dc7565b60405180910390fd5b565b6114f4612258565b5f600b5f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6115366112f1565b6040516115439190613dc7565b60405180910390a1565b5f6115574361131f565b905090565b5f61156683610b47565b905081600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611667818361166286612298565b6122a9565b505050565b5f600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611739612519565b6001600b5f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25861177c6112f1565b6040516117899190613dc7565b60405180910390a1565b60606117c9600c7f000000000000000000000000000000000000000000000000000000000000000061255a90919063ffffffff16565b905090565b6060611804600d7f000000000000000000000000000000000000000000000000000000000000000061255a90919063ffffffff16565b905090565b5f80825f018054905090505f811461186157611833835f0160018361182e919061470f565b6121d1565b5f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff16611863565b5f5b915050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118db57816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016118d29190613dc7565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516119c79190613c81565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115611b79578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02868685856040518563ffffffff1660e01b8152600401611a3294939291906147c7565b6020604051808303815f875af1925050508015611a6d57506040513d601f19601f82011682018060405250810190611a6a9190614825565b60015b611aee573d805f8114611a9b576040519150601f19603f3d011682016040523d82523d5f602084013e611aa0565b606091505b505f815103611ae657836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611add9190613dc7565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614611b7757836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611b6e9190613dc7565b60405180910390fd5b505b5050505050565b5f611b92611b8c612607565b836126bd565b9050919050565b5f805f80611ba9888888886126fd565b925092509250611bb982826127e4565b829350505050949350505050565b5f611bd183612946565b9050808214611c195782816040517f752d88c0000000000000000000000000000000000000000000000000000000008152600401611c10929190614574565b60405180910390fd5b505050565b6060611c2982611232565b505f600a5f8481526020019081526020015f208054611c479061450f565b80601f0160208091040260200160405190810160405280929190818152602001828054611c739061450f565b8015611cbe5780601f10611c9557610100808354040283529160200191611cbe565b820191905f5260205f20905b815481529060010190602001808311611ca157829003601f168201915b505050505090505f611cce612999565b90505f815103611ce2578192505050611d24565b5f82511115611d16578082604051602001611cfe92919061488a565b60405160208183030381529060405292505050611d24565b611d1f846129af565b925050505b919050565b611d42828260405180602001604052805f815250612a15565b5050565b80600a5f8481526020019081526020015f209081611d649190614a41565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce782604051611d949190613e57565b60405180910390a15050565b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611e125750611e1182612a38565b5b9050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8080611e8a57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611fbc575f611e9984611232565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611f0357508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611f165750611f1481846110c0565b155b15611f5857826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611f4f9190613dc7565b60405180910390fd5b8115611fba57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f8061201e858585612b19565b905061202c81866001612b36565b809150509392505050565b5f60018211612048578190506121cc565b5f8290505f60019050700100000000000000000000000000000000821061207857608082901c9150604081901b90505b68010000000000000000821061209757604082901c9150602081901b90505b64010000000082106120b257602082901c9150601081901b90505b6201000082106120cb57601082901c9150600881901b90505b61010082106120e357600882901c9150600481901b90505b601082106120fa57600482901c9150600281901b90505b6004821061210a57600181901b90505b600181600302901c9050600181858161212657612125614b10565b5b048201901c9050600181858161213f5761213e614b10565b5b048201901c9050600181858161215857612157614b10565b5b048201901c9050600181858161217157612170614b10565b5b048201901c9050600181858161218a57612189614b10565b5b048201901c905060018185816121a3576121a2614b10565b5b048201901c90506121c58185816121bd576121bc614b10565b5b048211612bee565b8103925050505b919050565b5f825f528160205f2001905092915050565b5f5b8183101561224d575f6121f88484612bf9565b90508465ffffffffffff1661220d87836121d1565b5f015f9054906101000a900465ffffffffffff1665ffffffffffff16111561223757809250612247565b6001816122449190614742565b93505b506121e5565b819050949350505050565b612260610bc5565b612296576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f6122a282610beb565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156122e457505f81115b15612514575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146123fe575f8061236f60105f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20612c1e61236a86612c33565b612ca0565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72483836040516123f3929190614b3d565b60405180910390a250505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612513575f8061248460105f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20612cdf61247f86612c33565b612ca0565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff16915079ffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612508929190614b3d565b60405180910390a250505b5b505050565b612521610bc5565b15612558576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b606060ff5f1b83146125765761256f83612cf4565b9050612601565b8180546125829061450f565b80601f01602080910402602001604051908101604052809291908181526020018280546125ae9061450f565b80156125f95780601f106125d0576101008083540402835291602001916125f9565b820191905f5260205f20905b8154815290600101906020018083116125dc57829003601f168201915b505050505090505b92915050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff1614801561268257507f000000000000000000000000000000000000000000000000000000000000000046145b156126af577f000000000000000000000000000000000000000000000000000000000000000090506126ba565b6126b7612d66565b90505b90565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115612739575f6003859250925092506127da565b5f6001888888886040515f815260200160405260405161275c9493929190614b73565b6020604051602081039080840390855afa15801561277c573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036127cd575f60015f801b935093509350506127da565b805f805f1b935093509350505b9450945094915050565b5f60038111156127f7576127f6614bb6565b5b82600381111561280a57612809614bb6565b5b0315612942576001600381111561282457612823614bb6565b5b82600381111561283757612836614bb6565b5b0361286e576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561288257612881614bb6565b5b82600381111561289557612894614bb6565b5b036128d957805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016128d09190613e57565b60405180910390fd5b6003808111156128ec576128eb614bb6565b5b8260038111156128ff576128fe614bb6565b5b0361294157806040517fd78bce0c0000000000000000000000000000000000000000000000000000000081526004016129389190614be3565b60405180910390fd5b5b5050565b5f600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b606060405180602001604052805f815250905090565b60606129ba82611232565b505f6129c4612999565b90505f8151116129e25760405180602001604052805f815250612a0d565b806129ec84612dfb565b6040516020016129fd92919061488a565b6040516020818303038152906040525b915050919050565b612a1f8383612ec5565b612a33612a2a6112f1565b5f8585856119d4565b505050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612b0257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612b125750612b1182612fb8565b5b9050919050565b5f612b22612519565b612b2d848484613021565b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b8257612b7f6011612cdf612b7a84612c33565b612ca0565b50505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612bce57612bcb6011612c1e612bc684612c33565b612ca0565b50505b612be9612bda84610b47565b612be384610b47565b836122a9565b505050565b5f8115159050919050565b5f6002828418612c099190614bfc565b828416612c169190614742565b905092915050565b5f8183612c2b9190614c51565b905092915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff8016821115612c985760d0826040517f6dfcc650000000000000000000000000000000000000000000000000000000008152600401612c8f929190614cd7565b60405180910390fd5b819050919050565b5f80612cd3612cad610e74565b612cc3612cb988611809565b868863ffffffff16565b8761313b9092919063ffffffff16565b91509150935093915050565b5f8183612cec9190614cfe565b905092915050565b60605f612d0083613156565b90505f602067ffffffffffffffff811115612d1e57612d1d61411f565b5b6040519080825280601f01601f191660200182016040528015612d505781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000004630604051602001612de0959493929190614d4b565b60405160208183030381529060405280519060200120905090565b60605f6001612e09846131a4565b0190505f8167ffffffffffffffff811115612e2757612e2661411f565b5b6040519080825280601f01601f191660200182016040528015612e595781602001600182028036833780820191505090505b5090505f82602001820190505b600115612eba578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581612eaf57612eae614b10565b5b0494505f8503612e66575b819350505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612f35575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401612f2c9190613dc7565b60405180910390fd5b5f612f4183835f61130a565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614612fb3575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401612faa9190613dc7565b60405180910390fd5b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8061302e8585856132f5565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036130715761306c84613500565b6130b0565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146130af576130ae8185613544565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036130f1576130ec8461361b565b613130565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461312f5761312e85856136db565b5b5b809150509392505050565b5f8061314a855f01858561375f565b91509150935093915050565b5f8060ff835f1c169050601f81111561319b576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613200577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816131f6576131f5614b10565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061323d576d04ee2d6d415b85acef8100000000838161323357613232614b10565b5b0492506020810190505b662386f26fc10000831061326c57662386f26fc10000838161326257613261614b10565b5b0492506010810190505b6305f5e1008310613295576305f5e100838161328b5761328a614b10565b5b0492506008810190505b61271083106132ba5761271083816132b0576132af614b10565b5b0492506004810190505b606483106132dd57606483816132d3576132d2614b10565b5b0492506002810190505b600a83106132ec576001810190505b80915050919050565b5f8061330084611e19565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461334157613340818486613a53565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146133cc576133805f855f80611e52565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461344b57600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f61354e83610beb565b90505f60075f8481526020019081526020015f205490505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090508282146135ed575f815f8581526020019081526020015f2054905080825f8581526020019081526020015f20819055508260075f8381526020019081526020015f2081905550505b60075f8581526020019081526020015f205f9055805f8481526020019081526020015f205f90555050505050565b5f600160088054905061362e919061470f565b90505f60095f8481526020019081526020015f205490505f6008838154811061365a576136596145c2565b5b905f5260205f2001549050806008838154811061367a576136796145c2565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f905560088054806136c2576136c1614d9c565b5b600190038181905f5260205f20015f9055905550505050565b5f60016136e784610beb565b6136f1919061470f565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b5f805f858054905090505f81111561396b575f61378887600184613783919061470f565b6121d1565b90505f815f015f9054906101000a900465ffffffffffff1690505f825f0160069054906101000a900479ffffffffffffffffffffffffffffffffffffffffffffffffffff1690508765ffffffffffff168265ffffffffffff161115613819576040517f2520601d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8765ffffffffffff168265ffffffffffff16036138835786835f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555061395c565b8860405180604001604052808a65ffffffffffff1681526020018979ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b80879550955050505050613a4b565b8560405180604001604052808765ffffffffffff1681526020018679ffffffffffffffffffffffffffffffffffffffffffffffffffff16815250908060018154018082558091505060019003905f5260205f20015f909190919091505f820151815f015f6101000a81548165ffffffffffff021916908365ffffffffffff1602179055506020820151815f0160066101000a81548179ffffffffffffffffffffffffffffffffffffffffffffffffffff021916908379ffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505f8492509250505b935093915050565b613a5e838383613b16565b613b11575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613ad257806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401613ac99190613e57565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401613b08929190614574565b60405180910390fd5b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015613bcd57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480613b8e5750613b8d84846110c0565b5b80613bcc57508273ffffffffffffffffffffffffffffffffffffffff16613bb4836112b8565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613c1b81613be7565b8114613c25575f80fd5b50565b5f81359050613c3681613c12565b92915050565b5f60208284031215613c5157613c50613bdf565b5b5f613c5e84828501613c28565b91505092915050565b5f8115159050919050565b613c7b81613c67565b82525050565b5f602082019050613c945f830184613c72565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f613cdc82613c9a565b613ce68185613ca4565b9350613cf6818560208601613cb4565b613cff81613cc2565b840191505092915050565b5f6020820190508181035f830152613d228184613cd2565b905092915050565b5f819050919050565b613d3c81613d2a565b8114613d46575f80fd5b50565b5f81359050613d5781613d33565b92915050565b5f60208284031215613d7257613d71613bdf565b5b5f613d7f84828501613d49565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613db182613d88565b9050919050565b613dc181613da7565b82525050565b5f602082019050613dda5f830184613db8565b92915050565b613de981613da7565b8114613df3575f80fd5b50565b5f81359050613e0481613de0565b92915050565b5f8060408385031215613e2057613e1f613bdf565b5b5f613e2d85828601613df6565b9250506020613e3e85828601613d49565b9150509250929050565b613e5181613d2a565b82525050565b5f602082019050613e6a5f830184613e48565b92915050565b5f805f60608486031215613e8757613e86613bdf565b5b5f613e9486828701613df6565b9350506020613ea586828701613df6565b9250506040613eb686828701613d49565b9150509250925092565b5f60208284031215613ed557613ed4613bdf565b5b5f613ee284828501613df6565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b613f1f81613eeb565b82525050565b5f819050919050565b613f3781613f25565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b613f6f81613d2a565b82525050565b5f613f808383613f66565b60208301905092915050565b5f602082019050919050565b5f613fa282613f3d565b613fac8185613f47565b9350613fb783613f57565b805f5b83811015613fe7578151613fce8882613f75565b9750613fd983613f8c565b925050600181019050613fba565b5085935050505092915050565b5f60e0820190506140075f83018a613f16565b81810360208301526140198189613cd2565b9050818103604083015261402d8188613cd2565b905061403c6060830187613e48565b6140496080830186613db8565b61405660a0830185613f2e565b81810360c08301526140688184613f98565b905098975050505050505050565b5f65ffffffffffff82169050919050565b61409081614076565b82525050565b5f6020820190506140a95f830184614087565b92915050565b6140b881613c67565b81146140c2575f80fd5b50565b5f813590506140d3816140af565b92915050565b5f80604083850312156140ef576140ee613bdf565b5b5f6140fc85828601613df6565b925050602061410d858286016140c5565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61415582613cc2565b810181811067ffffffffffffffff821117156141745761417361411f565b5b80604052505050565b5f614186613bd6565b9050614192828261414c565b919050565b5f67ffffffffffffffff8211156141b1576141b061411f565b5b6141ba82613cc2565b9050602081019050919050565b828183375f83830152505050565b5f6141e76141e284614197565b61417d565b9050828152602081018484840111156142035761420261411b565b5b61420e8482856141c7565b509392505050565b5f82601f83011261422a57614229614117565b5b813561423a8482602086016141d5565b91505092915050565b5f805f806080858703121561425b5761425a613bdf565b5b5f61426887828801613df6565b945050602061427987828801613df6565b935050604061428a87828801613d49565b925050606085013567ffffffffffffffff8111156142ab576142aa613be3565b5b6142b787828801614216565b91505092959194509250565b5f60ff82169050919050565b6142d8816142c3565b81146142e2575f80fd5b50565b5f813590506142f3816142cf565b92915050565b61430281613f25565b811461430c575f80fd5b50565b5f8135905061431d816142f9565b92915050565b5f805f805f8060c0878903121561433d5761433c613bdf565b5b5f61434a89828a01613df6565b965050602061435b89828a01613d49565b955050604061436c89828a01613d49565b945050606061437d89828a016142e5565b935050608061438e89828a0161430f565b92505060a061439f89828a0161430f565b9150509295509295509295565b5f67ffffffffffffffff8211156143c6576143c561411f565b5b6143cf82613cc2565b9050602081019050919050565b5f6143ee6143e9846143ac565b61417d565b90508281526020810184848401111561440a5761440961411b565b5b6144158482856141c7565b509392505050565b5f82601f83011261443157614430614117565b5b81356144418482602086016143dc565b91505092915050565b5f80604083850312156144605761445f613bdf565b5b5f61446d85828601613df6565b925050602083013567ffffffffffffffff81111561448e5761448d613be3565b5b61449a8582860161441d565b9150509250929050565b5f80604083850312156144ba576144b9613bdf565b5b5f6144c785828601613df6565b92505060206144d885828601613df6565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061452657607f821691505b602082108103614539576145386144e2565b5b50919050565b5f6060820190506145525f830186613db8565b61455f6020830185613e48565b61456c6040830184613db8565b949350505050565b5f6040820190506145875f830185613db8565b6145946020830184613e48565b9392505050565b5f6040820190506145ae5f830185613e48565b6145bb6020830184614087565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6080820190506146025f830187613f2e565b61460f6020830186613db8565b61461c6040830185613e48565b6146296060830184613e48565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61466982613d2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361469b5761469a614632565b5b600182019050919050565b5f819050919050565b5f819050919050565b5f6146d26146cd6146c8846146a6565b6146af565b6142c3565b9050919050565b6146e2816146b8565b82525050565b5f6040820190506146fb5f8301856146d9565b6147086020830184613e48565b9392505050565b5f61471982613d2a565b915061472483613d2a565b925082820390508181111561473c5761473b614632565b5b92915050565b5f61474c82613d2a565b915061475783613d2a565b925082820190508082111561476f5761476e614632565b5b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f61479982614775565b6147a3818561477f565b93506147b3818560208601613cb4565b6147bc81613cc2565b840191505092915050565b5f6080820190506147da5f830187613db8565b6147e76020830186613db8565b6147f46040830185613e48565b8181036060830152614806818461478f565b905095945050505050565b5f8151905061481f81613c12565b92915050565b5f6020828403121561483a57614839613bdf565b5b5f61484784828501614811565b91505092915050565b5f81905092915050565b5f61486482613c9a565b61486e8185614850565b935061487e818560208601613cb4565b80840191505092915050565b5f614895828561485a565b91506148a1828461485a565b91508190509392505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026149097fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826148ce565b61491386836148ce565b95508019841693508086168417925050509392505050565b5f61494561494061493b84613d2a565b6146af565b613d2a565b9050919050565b5f819050919050565b61495e8361492b565b61497261496a8261494c565b8484546148da565b825550505050565b5f90565b61498661497a565b614991818484614955565b505050565b5b818110156149b4576149a95f8261497e565b600181019050614997565b5050565b601f8211156149f9576149ca816148ad565b6149d3846148bf565b810160208510156149e2578190505b6149f66149ee856148bf565b830182614996565b50505b505050565b5f82821c905092915050565b5f614a195f19846008026149fe565b1980831691505092915050565b5f614a318383614a0a565b9150826002028217905092915050565b614a4a82613c9a565b67ffffffffffffffff811115614a6357614a6261411f565b5b614a6d825461450f565b614a788282856149b8565b5f60209050601f831160018114614aa9575f8415614a97578287015190505b614aa18582614a26565b865550614b08565b601f198416614ab7866148ad565b5f5b82811015614ade57848901518255600182019150602085019450602081019050614ab9565b86831015614afb5784890151614af7601f891682614a0a565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f604082019050614b505f830185613e48565b614b5d6020830184613e48565b9392505050565b614b6d816142c3565b82525050565b5f608082019050614b865f830187613f2e565b614b936020830186614b64565b614ba06040830185613f2e565b614bad6060830184613f2e565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f602082019050614bf65f830184613f2e565b92915050565b5f614c0682613d2a565b9150614c1183613d2a565b925082614c2157614c20614b10565b5b828204905092915050565b5f79ffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b5f614c5b82614c2c565b9150614c6683614c2c565b9250828203905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115614c9857614c97614632565b5b92915050565b5f819050919050565b5f614cc1614cbc614cb784614c9e565b6146af565b6142c3565b9050919050565b614cd181614ca7565b82525050565b5f604082019050614cea5f830185614cc8565b614cf76020830184613e48565b9392505050565b5f614d0882614c2c565b9150614d1383614c2c565b9250828201905079ffffffffffffffffffffffffffffffffffffffffffffffffffff811115614d4557614d44614632565b5b92915050565b5f60a082019050614d5e5f830188613f2e565b614d6b6020830187613f2e565b614d786040830186613f2e565b614d856060830185613e48565b614d926080830184613db8565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfea2646970667358221220f5695465edefbe801ad46f0c029196b5295614834e1c480fdd4e2a65c4b5e90d64736f6c634300081a00330000000000000000000000006cd6592b7d2a9b1e59aa60a6138434d2fe4cd062