6080604052600160065f6101000a81548160ff0219169083151502179055505f6007555f60085f6101000a81548160ff02191690831515021790555060146009556001600a556002600b556001600c556001600d55601e600e556014600f555f6010556008600a61007091906105e3565b637b61b18061007f919061062d565b6011556008600a61009091906105e3565b637b61b18061009f919061062d565b6012556008600a6100b091906105e3565b5f6100bb919061062d565b6013556008600a6100cc91906105e3565b63524121006100db919061062d565b6014555f601660156101000a81548160ff0219169083151502179055505f6016806101000a81548160ff02191690831515021790555034801561011c575f80fd5b505f61012c61044460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506101d661044460201b60201c565b600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600a61022491906105e3565b641010b87200610234919061062d565b60015f61024561044460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160035f61029561044b60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160035f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506103be61044460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6008600a61041a91906105e3565b641010b8720061042a919061062d565b604051610437919061067d565b60405180910390a3610696565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156104f4578086048111156104d0576104cf610472565b5b60018516156104df5780820291505b80810290506104ed8561049f565b94506104b4565b94509492505050565b5f8261050c57600190506105c7565b81610519575f90506105c7565b816001811461052f576002811461053957610568565b60019150506105c7565b60ff84111561054b5761054a610472565b5b8360020a91508482111561056257610561610472565b5b506105c7565b5060208310610133831016604e8410600b841016171561059d5782820a90508381111561059857610597610472565b5b6105c7565b6105aa84848460016104ab565b925090508184048111156105c1576105c0610472565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f6105ed826105ce565b91506105f8836105d7565b92506106257fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846104fd565b905092915050565b5f610637826105ce565b9150610642836105ce565b9250828202610650816105ce565b9150828204841483151761066757610666610472565b5b5092915050565b610677816105ce565b82525050565b5f6020820190506106905f83018461066e565b92915050565b613299806106a35f395ff3fe608060405260043610610117575f3560e01c8063751039fc1161009f578063a9059cbb11610063578063a9059cbb14610368578063bf474bed146103a4578063c876d0b9146103ce578063c9567bf9146103f8578063dd62ed3e1461040e5761011e565b8063751039fc146102aa5780637d1db4a5146102c05780638da5cb5b146102ea5780638f9a55c01461031457806395d89b411461033e5761011e565b806323b872dd116100e657806323b872dd146101dc578063313ce5671461021857806351bc3c851461024257806370a0823114610258578063715018a6146102945761011e565b806306fdde0314610122578063095ea7b31461014c5780630faee56f1461018857806318160ddd146101b25761011e565b3661011e57005b5f80fd5b34801561012d575f80fd5b5061013661044a565b60405161014391906123b1565b60405180910390f35b348015610157575f80fd5b50610172600480360381019061016d9190612462565b610487565b60405161017f91906124ba565b60405180910390f35b348015610193575f80fd5b5061019c6104a4565b6040516101a991906124e2565b60405180910390f35b3480156101bd575f80fd5b506101c66104aa565b6040516101d391906124e2565b60405180910390f35b3480156101e7575f80fd5b5061020260048036038101906101fd91906124fb565b6104ce565b60405161020f91906124ba565b60405180910390f35b348015610223575f80fd5b5061022c6105a2565b6040516102399190612566565b60405180910390f35b34801561024d575f80fd5b506102566105aa565b005b348015610263575f80fd5b5061027e6004803603810190610279919061257f565b610642565b60405161028b91906124e2565b60405180910390f35b34801561029f575f80fd5b506102a8610688565b005b3480156102b5575f80fd5b506102be6107d6565b005b3480156102cb575f80fd5b506102d4610921565b6040516102e191906124e2565b60405180910390f35b3480156102f5575f80fd5b506102fe610927565b60405161030b91906125b9565b60405180910390f35b34801561031f575f80fd5b5061032861094e565b60405161033591906124e2565b60405180910390f35b348015610349575f80fd5b50610352610954565b60405161035f91906123b1565b60405180910390f35b348015610373575f80fd5b5061038e60048036038101906103899190612462565b610991565b60405161039b91906124ba565b60405180910390f35b3480156103af575f80fd5b506103b86109ae565b6040516103c591906124e2565b60405180910390f35b3480156103d9575f80fd5b506103e26109b4565b6040516103ef91906124ba565b60405180910390f35b348015610403575f80fd5b5061040c6109c6565b005b348015610419575f80fd5b50610434600480360381019061042f91906125d2565b611088565b60405161044191906124e2565b60405180910390f35b60606040518060400160405280600e81526020017f504f4e4b452050726f746f636f6c000000000000000000000000000000000000815250905090565b5f61049a61049361110a565b8484611111565b6001905092915050565b60145481565b5f6008600a6104b9919061276c565b641010b872006104c991906127b6565b905090565b5f6104da8484846112d4565b610597846104e661110a565b6105928560405180606001604052806028815260200161323c6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f61054961110a565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611dfd9092919063ffffffff16565b611111565b600190509392505050565b5f6008905090565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166105eb61110a565b73ffffffffffffffffffffffffffffffffffffffff161461060a575f80fd5b5f61061430610642565b90505f8111156106285761062781611e5f565b5b5f4790505f81111561063e5761063d816120e8565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61069061110a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461071c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071390612841565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6107de61110a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086190612841565b60405180910390fd5b6008600a610878919061276c565b641010b8720061088891906127b6565b6011819055506008600a61089c919061276c565b641010b872006108ac91906127b6565b6012819055505f60065f6101000a81548160ff0219169083151502179055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6008600a6108fa919061276c565b641010b8720061090a91906127b6565b60405161091791906124e2565b60405180910390a1565b60115481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60125481565b60606040518060400160405280600581526020017f504f4e4b45000000000000000000000000000000000000000000000000000000815250905090565b5f6109a461099d61110a565b84846112d4565b6001905092915050565b60135481565b60065f9054906101000a900460ff1681565b6109ce61110a565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5190612841565b60405180910390fd5b601660149054906101000a900460ff1615610aaa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa1906128a9565b60405180910390fd5b734752ba5dbc23f44d87826276bf6fd6b1c372ad2460155f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610b473060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166008600a610b32919061276c565b641010b87200610b4291906127b6565b611111565b5f60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bb2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd691906128db565b90508073ffffffffffffffffffffffffffffffffffffffff1663e6a439053060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c5f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c8391906128db565b6040518363ffffffff1660e01b8152600401610ca0929190612906565b602060405180830381865afa158015610cbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cdf91906128db565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f73ffffffffffffffffffffffffffffffffffffffff1660165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610eba578073ffffffffffffffffffffffffffffffffffffffff1663c9c653963060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610df9573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e1d91906128db565b6040518363ffffffff1660e01b8152600401610e3a929190612906565b6020604051808303815f875af1158015610e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e7a91906128db565b60165f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610f0230610642565b5f80610f0c610927565b426040518863ffffffff1660e01b8152600401610f2e9695949392919061296f565b60606040518083038185885af1158015610f4a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610f6f91906129e2565b50505060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b815260040161100f929190612a32565b6020604051808303815f875af115801561102b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104f9190612a83565b5060016016806101000a81548160ff0219169083151502179055506001601660146101000a81548160ff02191690831515021790555050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361117f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161117690612b1e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e490612bac565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516112c791906124e2565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133990612c3a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a790612cc8565b60405180910390fd5b5f81116113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990612d56565b60405180910390fd5b5f8060019050611400610927565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415801561146e575061143e610927565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611b4c576114b660646114a8601660149054906101000a900460ff1661149757600954611499565b5f5b8661215190919063ffffffff16565b6121c890919063ffffffff16565b915060065f9054906101000a900460ff161561163e5760155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611576575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561163d574360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106115fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f190612de4565b60405180910390fd5b4360055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156116e7575060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b801561173a575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561189357601154831115611784576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177b90612e4c565b60405180910390fd5b6012548361179186610642565b61179b9190612e6a565b11156117dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d390612ee7565b60405180910390fd5b600f5460105410156117fb576117f184612211565b156117fa575f80fd5b5b60105f81548092919061180d90612f05565b91905055504260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506118906064611882600d546010541161186f57600954611873565b600b545b8661215190919063ffffffff16565b6121c890919063ffffffff16565b91505b60165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561191b57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15611a5957601154831115611965576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195c90612e4c565b60405180910390fd5b6119a16064611993600e546010541161198057600a54611984565b600c545b8661215190919063ffffffff16565b6121c890919063ffffffff16565b91504260045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541480611a2a57505f60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054145b15611a33575f90505b60085f9054906101000a900460ff168015611a4f575043600754145b15611a58575f90505b5b5f611a6330610642565b9050601660159054906101000a900460ff16158015611ace575060165f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8015611ae4575060168054906101000a900460ff165b8015611af1575060135481115b8015611b005750600f54601054115b8015611b095750815b15611b4a57611b2b611b2685611b2184601454612222565b612222565b611e5f565b5f4790505f811115611b4857611b40476120e8565b436007819055505b505b505b5f821115611c4b57611ba48260015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223a90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611c4291906124e2565b60405180910390a35b611c9b8360015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461229790919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611d3e611cf2838561229790919063ffffffff16565b60015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461223a90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611de1858761229790919063ffffffff16565b604051611dee91906124e2565b60405180910390a35050505050565b5f838311158290611e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3b91906123b1565b60405180910390fd5b505f8385611e529190612f4c565b9050809150509392505050565b6001601660156101000a81548160ff0219169083151502179055505f8103156120cb57601660149054906101000a900460ff16156120cb575f600267ffffffffffffffff811115611eb357611eb2612f7f565b5b604051908082528060200260200182016040528015611ee15781602001602082028036833780820191505090505b50905030815f81518110611ef857611ef7612fac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611f9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fc091906128db565b81600181518110611fd457611fd3612fac565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061203a3060155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611111565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161209c959493929190613090565b5f604051808303815f87803b1580156120b3575f80fd5b505af11580156120c5573d5f803e3d5ffd5b50505050505b5f601660156101000a81548160ff02191690831515021790555050565b600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561214d573d5f803e3d5ffd5b5050565b5f808303612161575f90506121c2565b5f828461216e91906127b6565b905082848261217d9190613115565b146121bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b4906131b5565b60405180910390fd5b809150505b92915050565b5f61220983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122e0565b905092915050565b5f80823b90505f8111915050919050565b5f8183116122305782612232565b815b905092915050565b5f8082846122489190612e6a565b90508381101561228d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122849061321d565b60405180910390fd5b8091505092915050565b5f6122d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611dfd565b905092915050565b5f8083118290612326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161231d91906123b1565b60405180910390fd5b505f83856123349190613115565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61238382612341565b61238d818561234b565b935061239d81856020860161235b565b6123a681612369565b840191505092915050565b5f6020820190508181035f8301526123c98184612379565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6123fe826123d5565b9050919050565b61240e816123f4565b8114612418575f80fd5b50565b5f8135905061242981612405565b92915050565b5f819050919050565b6124418161242f565b811461244b575f80fd5b50565b5f8135905061245c81612438565b92915050565b5f8060408385031215612478576124776123d1565b5b5f6124858582860161241b565b92505060206124968582860161244e565b9150509250929050565b5f8115159050919050565b6124b4816124a0565b82525050565b5f6020820190506124cd5f8301846124ab565b92915050565b6124dc8161242f565b82525050565b5f6020820190506124f55f8301846124d3565b92915050565b5f805f60608486031215612512576125116123d1565b5b5f61251f8682870161241b565b93505060206125308682870161241b565b92505060406125418682870161244e565b9150509250925092565b5f60ff82169050919050565b6125608161254b565b82525050565b5f6020820190506125795f830184612557565b92915050565b5f60208284031215612594576125936123d1565b5b5f6125a18482850161241b565b91505092915050565b6125b3816123f4565b82525050565b5f6020820190506125cc5f8301846125aa565b92915050565b5f80604083850312156125e8576125e76123d1565b5b5f6125f58582860161241b565b92505060206126068582860161241b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126925780860481111561266e5761266d612610565b5b600185161561267d5780820291505b808102905061268b8561263d565b9450612652565b94509492505050565b5f826126aa5760019050612765565b816126b7575f9050612765565b81600181146126cd57600281146126d757612706565b6001915050612765565b60ff8411156126e9576126e8612610565b5b8360020a915084821115612700576126ff612610565b5b50612765565b5060208310610133831016604e8410600b841016171561273b5782820a90508381111561273657612735612610565b5b612765565b6127488484846001612649565b9250905081840481111561275f5761275e612610565b5b81810290505b9392505050565b5f6127768261242f565b91506127818361254b565b92506127ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848461269b565b905092915050565b5f6127c08261242f565b91506127cb8361242f565b92508282026127d98161242f565b915082820484148315176127f0576127ef612610565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61282b60208361234b565b9150612836826127f7565b602082019050919050565b5f6020820190508181035f8301526128588161281f565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f61289360178361234b565b915061289e8261285f565b602082019050919050565b5f6020820190508181035f8301526128c081612887565b9050919050565b5f815190506128d581612405565b92915050565b5f602082840312156128f0576128ef6123d1565b5b5f6128fd848285016128c7565b91505092915050565b5f6040820190506129195f8301856125aa565b61292660208301846125aa565b9392505050565b5f819050919050565b5f819050919050565b5f61295961295461294f8461292d565b612936565b61242f565b9050919050565b6129698161293f565b82525050565b5f60c0820190506129825f8301896125aa565b61298f60208301886124d3565b61299c6040830187612960565b6129a96060830186612960565b6129b660808301856125aa565b6129c360a08301846124d3565b979650505050505050565b5f815190506129dc81612438565b92915050565b5f805f606084860312156129f9576129f86123d1565b5b5f612a06868287016129ce565b9350506020612a17868287016129ce565b9250506040612a28868287016129ce565b9150509250925092565b5f604082019050612a455f8301856125aa565b612a5260208301846124d3565b9392505050565b612a62816124a0565b8114612a6c575f80fd5b50565b5f81519050612a7d81612a59565b92915050565b5f60208284031215612a9857612a976123d1565b5b5f612aa584828501612a6f565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612b0860248361234b565b9150612b1382612aae565b604082019050919050565b5f6020820190508181035f830152612b3581612afc565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b9660228361234b565b9150612ba182612b3c565b604082019050919050565b5f6020820190508181035f830152612bc381612b8a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612c2460258361234b565b9150612c2f82612bca565b604082019050919050565b5f6020820190508181035f830152612c5181612c18565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612cb260238361234b565b9150612cbd82612c58565b604082019050919050565b5f6020820190508181035f830152612cdf81612ca6565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612d4060298361234b565b9150612d4b82612ce6565b604082019050919050565b5f6020820190508181035f830152612d6d81612d34565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f612dce60248361234b565b9150612dd982612d74565b604082019050919050565b5f6020820190508181035f830152612dfb81612dc2565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612e3660198361234b565b9150612e4182612e02565b602082019050919050565b5f6020820190508181035f830152612e6381612e2a565b9050919050565b5f612e748261242f565b9150612e7f8361242f565b9250828201905080821115612e9757612e96612610565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612ed1601a8361234b565b9150612edc82612e9d565b602082019050919050565b5f6020820190508181035f830152612efe81612ec5565b9050919050565b5f612f0f8261242f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f4157612f40612610565b5b600182019050919050565b5f612f568261242f565b9150612f618361242f565b9250828203905081811115612f7957612f78612610565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61300b816123f4565b82525050565b5f61301c8383613002565b60208301905092915050565b5f602082019050919050565b5f61303e82612fd9565b6130488185612fe3565b935061305383612ff3565b805f5b8381101561308357815161306a8882613011565b975061307583613028565b925050600181019050613056565b5085935050505092915050565b5f60a0820190506130a35f8301886124d3565b6130b06020830187612960565b81810360408301526130c28186613034565b90506130d160608301856125aa565b6130de60808301846124d3565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61311f8261242f565b915061312a8361242f565b92508261313a576131396130e8565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f61319f60218361234b565b91506131aa82613145565b604082019050919050565b5f6020820190508181035f8301526131cc81613193565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f613207601b8361234b565b9150613212826131d3565b602082019050919050565b5f6020820190508181035f830152613234816131fb565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220763dba8dbdd5583b09f704a350bd08ee2612cc59170f9666075c206dc426a75364736f6c63430008190033