60806040525f60075f6101000a81548160ff0219169083151502179055505f6008556002600d55601e600e556002600f5560026010556005601155600f601255600a601355640635750aa8601455640635750aa86015556401236686386016556414b230ce386017555f601960156101000a81548160ff0219169083151502179055505f601960166101000a81548160ff021916908315150217905550348015620000a8575f80fd5b505f620000ba6200060960201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3507359b2994fb6c81f2c45f6734c49a7c7f444c9343960095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507356f6f92e4551194fa70786baea3e91e3da73824a600a5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073c78eac31678bac7546bf988235e04d11121e7fcb600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002626200060960201b60201c565b600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160035f620002b66200061060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555064cef5e80de060015f6200054b6200060960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550620005986200060960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef64cef5e80de0604051620005fb919062000651565b60405180910390a36200066c565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b6200064b8162000637565b82525050565b5f602082019050620006665f83018462000640565b92915050565b6134b6806200067a5f395ff3fe6080604052600436106100eb575f3560e01c806370a082311161008957806395d89b411161005857806395d89b41146102d0578063a9059cbb146102fa578063c9567bf914610336578063dd62ed3e1461034c576100f2565b806370a082311461023e578063715018a61461027a578063751039fc146102905780638da5cb5b146102a6576100f2565b806323b872dd116100c557806323b872dd14610186578063313ce567146101c25780633bbac579146101ec57806351bc3c8514610228576100f2565b806306fdde03146100f6578063095ea7b31461012057806318160ddd1461015c576100f2565b366100f257005b5f80fd5b348015610101575f80fd5b5061010a610388565b6040516101179190612466565b60405180910390f35b34801561012b575f80fd5b5061014660048036038101906101419190612517565b6103c5565b604051610153919061256f565b60405180910390f35b348015610167575f80fd5b506101706103e2565b60405161017d9190612597565b60405180910390f35b348015610191575f80fd5b506101ac60048036038101906101a791906125b0565b6103ee565b6040516101b9919061256f565b60405180910390f35b3480156101cd575f80fd5b506101d66104c2565b6040516101e3919061261b565b60405180910390f35b3480156101f7575f80fd5b50610212600480360381019061020d9190612634565b6104ca565b60405161021f919061256f565b60405180910390f35b348015610233575f80fd5b5061023c61051c565b005b348015610249575f80fd5b50610264600480360381019061025f9190612634565b6105b3565b6040516102719190612597565b60405180910390f35b348015610285575f80fd5b5061028e6105f9565b005b34801561029b575f80fd5b506102a4610747565b005b3480156102b1575f80fd5b506102ba61084a565b6040516102c7919061266e565b60405180910390f35b3480156102db575f80fd5b506102e4610871565b6040516102f19190612466565b60405180910390f35b348015610305575f80fd5b50610320600480360381019061031b9190612517565b6108ae565b60405161032d919061256f565b60405180910390f35b348015610341575f80fd5b5061034a6108cb565b005b348015610357575f80fd5b50610372600480360381019061036d9190612687565b610dd6565b60405161037f9190612597565b60405180910390f35b60606040518060400160405280600481526020017f4675467500000000000000000000000000000000000000000000000000000000815250905090565b5f6103d86103d1610e58565b8484610e5f565b6001905092915050565b5f64cef5e80de0905090565b5f6103fa848484611022565b6104b784610406610e58565b6104b2856040518060600160405280602881526020016134596028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610469610e58565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611b8d9092919063ffffffff16565b610e5f565b600190509392505050565b5f6002905090565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661055c610e58565b73ffffffffffffffffffffffffffffffffffffffff161461057b575f80fd5b5f610585306105b3565b90505f8111156105995761059881611bef565b5b5f4790505f8111156105af576105ae81611e78565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610601610e58565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461068d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106849061270f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61074f610e58565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d29061270f565b60405180910390fd5b64cef5e80de060148190555064cef5e80de06015819055505f60075f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf64cef5e80de06040516108409190612597565b60405180910390a1565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600481526020017f4655465500000000000000000000000000000000000000000000000000000000815250905090565b5f6108c16108ba610e58565b8484611022565b6001905092915050565b6108d3610e58565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461095f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109569061270f565b60405180910390fd5b601960149054906101000a900460ff16156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a690612777565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60185f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610a343060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1664cef5e80de0610e5f565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a9e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac291906127a9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b48573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b6c91906127a9565b6040518363ffffffff1660e01b8152600401610b899291906127d4565b6020604051808303815f875af1158015610ba5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc991906127a9565b60195f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610c50306105b3565b5f80610c5a61084a565b426040518863ffffffff1660e01b8152600401610c7c9695949392919061283d565b60606040518083038185885af1158015610c98573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cbd91906128b0565b50505060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610d5d929190612900565b6020604051808303815f875af1158015610d79573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9d9190612951565b506001601960166101000a81548160ff0219169083151502179055506001601960146101000a81548160ff021916908315150217905550565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec4906129ec565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3290612a7a565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110159190612597565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108790612b08565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f590612b96565b60405180910390fd5b5f8111611140576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113790612c24565b60405180910390fd5b5f61114961084a565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156111b7575061118761084a565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156118dd5760055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561125a575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b611262575f80fd5b60075f9054906101000a900460ff16156113e85760185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611320575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156113e7574360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106113a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161139b90612cb2565b60405180910390fd5b4360065f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611491575060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156114e4575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b156116125760145482111561152e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152590612d1a565b60405180910390fd5b6015548261153b856105b3565b6115459190612d65565b1115611586576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157d90612de2565b60405180910390fd5b60135460085410156115a55761159b836121ec565b156115a4575f80fd5b5b60085f8154809291906115b790612e00565b9190505550600160045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505b61164e60646116406011546008541161162d57600d54611631565b600f545b856121fd90919063ffffffff16565b61227490919063ffffffff16565b905060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116d857503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156117f857601454821115611722576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171990612d1a565b60405180910390fd5b61175e60646117506012546008541161173d57600e54611741565b6010545b856121fd90919063ffffffff16565b61227490919063ffffffff16565b905060135460085411806117b8575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6117f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ee90612e91565b60405180910390fd5b5b5f611802306105b3565b9050601960159054906101000a900460ff1615801561186d575060195f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118855750601960169054906101000a900460ff165b8015611892575060165481115b80156118a15750601354600854115b156118db576118c36118be846118b9846017546122bd565b6122bd565b611bef565b5f4790505f8111156118d9576118d847611e78565b5b505b505b5f8111156119dc576119358160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122d590919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119d39190612597565b60405180910390a35b611a2c8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461233290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611acf611a83828461233290919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546122d590919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611b72848661233290919063ffffffff16565b604051611b7f9190612597565b60405180910390a350505050565b5f838311158290611bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcb9190612466565b60405180910390fd5b505f8385611be29190612eaf565b9050809150509392505050565b6001601960156101000a81548160ff0219169083151502179055505f810315611e5b57601960149054906101000a900460ff1615611e5b575f600267ffffffffffffffff811115611c4357611c42612ee2565b5b604051908082528060200260200182016040528015611c715781602001602082028036833780820191505090505b50905030815f81518110611c8857611c87612f0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d2c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d5091906127a9565b81600181518110611d6457611d63612f0f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611dca3060185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610e5f565b60185f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611e2c959493929190612ff3565b5f604051808303815f87803b158015611e43575f80fd5b505af1158015611e55573d5f803e3d5ffd5b50505050505b5f601960156101000a81548160ff02191690831515021790555050565b5f611e8d60048361227490919063ffffffff16565b90505f8060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611ed690613078565b5f6040518083038185875af1925050503d805f8114611f10576040519150601f19603f3d011682016040523d82523d5f602084013e611f15565b606091505b509150915081611f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f51906130fc565b60405180910390fd5b600a5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1683604051611f9f90613078565b5f6040518083038185875af1925050503d805f8114611fd9576040519150601f19603f3d011682016040523d82523d5f602084013e611fde565b606091505b50809250819350505081612027576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201e9061318a565b60405180910390fd5b600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161206c90613078565b5f6040518083038185875af1925050503d805f81146120a6576040519150601f19603f3d011682016040523d82523d5f602084013e6120ab565b606091505b508092508193505050816120f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120eb90613218565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166121526121436003866121fd90919063ffffffff16565b8661233290919063ffffffff16565b60405161215e90613078565b5f6040518083038185875af1925050503d805f8114612198576040519150601f19603f3d011682016040523d82523d5f602084013e61219d565b606091505b508092508193505050816121e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121dd906132a6565b60405180910390fd5b50505050565b5f80823b90505f8111915050919050565b5f80830361220d575f905061226e565b5f828461221a91906132c4565b90508284826122299190613332565b14612269576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612260906133d2565b60405180910390fd5b809150505b92915050565b5f6122b583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061237b565b905092915050565b5f8183116122cb57826122cd565b815b905092915050565b5f8082846122e39190612d65565b905083811015612328576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231f9061343a565b60405180910390fd5b8091505092915050565b5f61237383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b8d565b905092915050565b5f80831182906123c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123b89190612466565b60405180910390fd5b505f83856123cf9190613332565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156124135780820151818401526020810190506123f8565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612438826123dc565b61244281856123e6565b93506124528185602086016123f6565b61245b8161241e565b840191505092915050565b5f6020820190508181035f83015261247e818461242e565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6124b38261248a565b9050919050565b6124c3816124a9565b81146124cd575f80fd5b50565b5f813590506124de816124ba565b92915050565b5f819050919050565b6124f6816124e4565b8114612500575f80fd5b50565b5f81359050612511816124ed565b92915050565b5f806040838503121561252d5761252c612486565b5b5f61253a858286016124d0565b925050602061254b85828601612503565b9150509250929050565b5f8115159050919050565b61256981612555565b82525050565b5f6020820190506125825f830184612560565b92915050565b612591816124e4565b82525050565b5f6020820190506125aa5f830184612588565b92915050565b5f805f606084860312156125c7576125c6612486565b5b5f6125d4868287016124d0565b93505060206125e5868287016124d0565b92505060406125f686828701612503565b9150509250925092565b5f60ff82169050919050565b61261581612600565b82525050565b5f60208201905061262e5f83018461260c565b92915050565b5f6020828403121561264957612648612486565b5b5f612656848285016124d0565b91505092915050565b612668816124a9565b82525050565b5f6020820190506126815f83018461265f565b92915050565b5f806040838503121561269d5761269c612486565b5b5f6126aa858286016124d0565b92505060206126bb858286016124d0565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6126f96020836123e6565b9150612704826126c5565b602082019050919050565b5f6020820190508181035f830152612726816126ed565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6127616017836123e6565b915061276c8261272d565b602082019050919050565b5f6020820190508181035f83015261278e81612755565b9050919050565b5f815190506127a3816124ba565b92915050565b5f602082840312156127be576127bd612486565b5b5f6127cb84828501612795565b91505092915050565b5f6040820190506127e75f83018561265f565b6127f4602083018461265f565b9392505050565b5f819050919050565b5f819050919050565b5f61282761282261281d846127fb565b612804565b6124e4565b9050919050565b6128378161280d565b82525050565b5f60c0820190506128505f83018961265f565b61285d6020830188612588565b61286a604083018761282e565b612877606083018661282e565b612884608083018561265f565b61289160a0830184612588565b979650505050505050565b5f815190506128aa816124ed565b92915050565b5f805f606084860312156128c7576128c6612486565b5b5f6128d48682870161289c565b93505060206128e58682870161289c565b92505060406128f68682870161289c565b9150509250925092565b5f6040820190506129135f83018561265f565b6129206020830184612588565b9392505050565b61293081612555565b811461293a575f80fd5b50565b5f8151905061294b81612927565b92915050565b5f6020828403121561296657612965612486565b5b5f6129738482850161293d565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6129d66024836123e6565b91506129e18261297c565b604082019050919050565b5f6020820190508181035f830152612a03816129ca565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a646022836123e6565b9150612a6f82612a0a565b604082019050919050565b5f6020820190508181035f830152612a9181612a58565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612af26025836123e6565b9150612afd82612a98565b604082019050919050565b5f6020820190508181035f830152612b1f81612ae6565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612b806023836123e6565b9150612b8b82612b26565b604082019050919050565b5f6020820190508181035f830152612bad81612b74565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c0e6029836123e6565b9150612c1982612bb4565b604082019050919050565b5f6020820190508181035f830152612c3b81612c02565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f612c9c6024836123e6565b9150612ca782612c42565b604082019050919050565b5f6020820190508181035f830152612cc981612c90565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612d046019836123e6565b9150612d0f82612cd0565b602082019050919050565b5f6020820190508181035f830152612d3181612cf8565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612d6f826124e4565b9150612d7a836124e4565b9250828201905080821115612d9257612d91612d38565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612dcc601a836123e6565b9150612dd782612d98565b602082019050919050565b5f6020820190508181035f830152612df981612dc0565b9050919050565b5f612e0a826124e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e3c57612e3b612d38565b5b600182019050919050565b7f53656c6c6572206973206e6f74206275796572000000000000000000000000005f82015250565b5f612e7b6013836123e6565b9150612e8682612e47565b602082019050919050565b5f6020820190508181035f830152612ea881612e6f565b9050919050565b5f612eb9826124e4565b9150612ec4836124e4565b9250828203905081811115612edc57612edb612d38565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f6e816124a9565b82525050565b5f612f7f8383612f65565b60208301905092915050565b5f602082019050919050565b5f612fa182612f3c565b612fab8185612f46565b9350612fb683612f56565b805f5b83811015612fe6578151612fcd8882612f74565b9750612fd883612f8b565b925050600181019050612fb9565b5085935050505092915050565b5f60a0820190506130065f830188612588565b613013602083018761282e565b81810360408301526130258186612f97565b9050613034606083018561265f565b6130416080830184612588565b9695505050505050565b5f81905092915050565b50565b5f6130635f8361304b565b915061306e82613055565b5f82019050919050565b5f61308282613058565b9150819050919050565b7f4661696c656420746f2073656e64204574686572205f74726164696e674149575f8201527f616c6c6574000000000000000000000000000000000000000000000000000000602082015250565b5f6130e66025836123e6565b91506130f18261308c565b604082019050919050565b5f6020820190508181035f830152613113816130da565b9050919050565b7f4661696c656420746f2073656e64204574686572205f7465616d4d756c7469735f8201527f6967000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131746022836123e6565b915061317f8261311a565b604082019050919050565b5f6020820190508181035f8301526131a181613168565b9050919050565b7f4661696c656420746f2073656e64204574686572205f6f7065726174696f6e735f8201527f616e644d61726b6574696e670000000000000000000000000000000000000000602082015250565b5f613202602c836123e6565b915061320d826131a8565b604082019050919050565b5f6020820190508181035f83015261322f816131f6565b9050919050565b7f4661696c656420746f2073656e64204574686572205f6d61696e466f724c69735f8201527f74696e6773416e64436578000000000000000000000000000000000000000000602082015250565b5f613290602b836123e6565b915061329b82613236565b604082019050919050565b5f6020820190508181035f8301526132bd81613284565b9050919050565b5f6132ce826124e4565b91506132d9836124e4565b92508282026132e7816124e4565b915082820484148315176132fe576132fd612d38565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61333c826124e4565b9150613347836124e4565b92508261335757613356613305565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6133bc6021836123e6565b91506133c782613362565b604082019050919050565b5f6020820190508181035f8301526133e9816133b0565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613424601b836123e6565b915061342f826133f0565b602082019050919050565b5f6020820190508181035f83015261345181613418565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122057c99a9f61f005a811adf7905ffafc1e224dc500367413163f7bc74bd506da8064736f6c63430008140033