608060405234801562000010575f80fd5b50604051620036a4380380620036a483398181016040528101906200003691906200022c565b806040518060800160405280605581526020016200364f605591396200006281620000ef60201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000d6575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000cd91906200026d565b60405180910390fd5b620000e7816200010460201b60201c565b5050620005d0565b8060029081620001009190620004ec565b5050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620001f682620001cb565b9050919050565b6200020881620001ea565b811462000213575f80fd5b50565b5f815190506200022681620001fd565b92915050565b5f60208284031215620002445762000243620001c7565b5b5f620002538482850162000216565b91505092915050565b6200026781620001ea565b82525050565b5f602082019050620002825f8301846200025c565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200030457607f821691505b6020821081036200031a5762000319620002bf565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200037e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000341565b6200038a868362000341565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620003d4620003ce620003c884620003a2565b620003ab565b620003a2565b9050919050565b5f819050919050565b620003ef83620003b4565b62000407620003fe82620003db565b8484546200034d565b825550505050565b5f90565b6200041d6200040f565b6200042a818484620003e4565b505050565b5b818110156200045157620004455f8262000413565b60018101905062000430565b5050565b601f821115620004a0576200046a8162000320565b620004758462000332565b8101602085101562000485578190505b6200049d620004948562000332565b8301826200042f565b50505b505050565b5f82821c905092915050565b5f620004c25f1984600802620004a5565b1980831691505092915050565b5f620004dc8383620004b1565b9150826002028217905092915050565b620004f78262000288565b67ffffffffffffffff81111562000513576200051262000292565b5b6200051f8254620002ec565b6200052c82828562000455565b5f60209050601f83116001811462000562575f84156200054d578287015190505b620005598582620004cf565b865550620005c8565b601f198416620005728662000320565b5f5b828110156200059b5784890151825560018201915060208501945060208101905062000574565b86831015620005bb5784890151620005b7601f891682620004b1565b8355505b6001600288020188555050505b505050505050565b61307180620005de5f395ff3fe608060405234801561000f575f80fd5b506004361061011e575f3560e01c80636b20c454116100ab578063bd85b0391161006f578063bd85b03914610300578063e985e9c514610330578063f242432a14610360578063f2fde38b1461037c578063f5298aca146103985761011e565b80636b20c45414610284578063715018a6146102a0578063731133e9146102aa5780638da5cb5b146102c6578063a22cb465146102e45761011e565b806318160ddd116100f257806318160ddd146101ce5780631f7fdffa146101ec5780632eb2c2d6146102085780634e1273f4146102245780634f558e79146102545761011e565b8062fdd58e1461012257806301ffc9a71461015257806302fe5305146101825780630e89341c1461019e575b5f80fd5b61013c60048036038101906101379190611e7b565b6103b4565b6040516101499190611ec8565b60405180910390f35b61016c60048036038101906101679190611f36565b610409565b6040516101799190611f7b565b60405180910390f35b61019c600480360381019061019791906120d0565b6104ea565b005b6101b860048036038101906101b39190612117565b6104fe565b6040516101c591906121bc565b60405180910390f35b6101d661052f565b6040516101e39190611ec8565b60405180910390f35b6102066004803603810190610201919061233e565b610538565b005b610222600480360381019061021d91906123f6565b610552565b005b61023e60048036038101906102399190612581565b6105f9565b60405161024b91906126ae565b60405180910390f35b61026e60048036038101906102699190612117565b610700565b60405161027b9190611f7b565b60405180910390f35b61029e600480360381019061029991906126ce565b610713565b005b6102a86107bf565b005b6102c460048036038101906102bf9190612756565b6107d2565b005b6102ce6107ec565b6040516102db91906127e5565b60405180910390f35b6102fe60048036038101906102f99190612828565b610814565b005b61031a60048036038101906103159190612117565b61082a565b6040516103279190611ec8565b60405180910390f35b61034a60048036038101906103459190612866565b610844565b6040516103579190611f7b565b60405180910390f35b61037a600480360381019061037591906128a4565b6108d2565b005b61039660048036038101906103919190612937565b610979565b005b6103b260048036038101906103ad9190612962565b6109fd565b005b5f805f8381526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104d357507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104e357506104e282610aa9565b5b9050919050565b6104f2610b12565b6104fb81610b99565b50565b606061050982610bac565b6040516020016105199190612a82565b6040516020818303038152906040529050919050565b5f600554905090565b610540610b12565b61054c84848484610c76565b50505050565b5f61055b610cf9565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156105a0575061059e8682610844565b155b156105e45780866040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016105db929190612aa3565b60405180910390fd5b6105f18686868686610d00565b505050505050565b6060815183511461064557815183516040517f5b05999100000000000000000000000000000000000000000000000000000000815260040161063c929190612aca565b60405180910390fd5b5f835167ffffffffffffffff81111561066157610660611fac565b5b60405190808252806020026020018201604052801561068f5781602001602082028036833780820191505090505b5090505f5b84518110156106f5576106cb6106b38287610df490919063ffffffff16565b6106c68387610e0790919063ffffffff16565b6103b4565b8282815181106106de576106dd612af1565b5b602002602001018181525050806001019050610694565b508091505092915050565b5f8061070b8361082a565b119050919050565b61071b610cf9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561076457506107628361075d610cf9565b610844565b155b156107af57610771610cf9565b836040517fe237d9220000000000000000000000000000000000000000000000000000000081526004016107a6929190612aa3565b60405180910390fd5b6107ba838383610e1a565b505050565b6107c7610b12565b6107d05f610eaa565b565b6107da610b12565b6107e684848484610f6d565b50505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61082661081f610cf9565b8383611002565b5050565b5f60045f8381526020019081526020015f20549050919050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f6108db610cf9565b90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610920575061091e8682610844565b155b156109645780866040517fe237d92200000000000000000000000000000000000000000000000000000000815260040161095b929190612aa3565b60405180910390fd5b610971868686868661116b565b505050505050565b610981610b12565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109f1575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016109e891906127e5565b60405180910390fd5b6109fa81610eaa565b50565b610a05610cf9565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610a4e5750610a4c83610a47610cf9565b610844565b155b15610a9957610a5b610cf9565b836040517fe237d922000000000000000000000000000000000000000000000000000000008152600401610a90929190612aa3565b60405180910390fd5b610aa4838383611271565b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b610b1a610cf9565b73ffffffffffffffffffffffffffffffffffffffff16610b386107ec565b73ffffffffffffffffffffffffffffffffffffffff1614610b9757610b5b610cf9565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610b8e91906127e5565b60405180910390fd5b565b8060029081610ba89190612d18565b5050565b60605f6001610bba84611313565b0190505f8167ffffffffffffffff811115610bd857610bd7611fac565b5b6040519080825280601f01601f191660200182016040528015610c0a5781602001600182028036833780820191505090505b5090505f82602001820190505b600115610c6b578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581610c6057610c5f612de7565b5b0494505f8503610c17575b819350505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610ce6575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610cdd91906127e5565b60405180910390fd5b610cf35f85858585611464565b50505050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d70575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610d6791906127e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610de0575f6040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610dd791906127e5565b60405180910390fd5b610ded8585858585611464565b5050505050565b5f60208202602084010151905092915050565b5f60208202602084010151905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e8a575f6040517f01a83514000000000000000000000000000000000000000000000000000000008152600401610e8191906127e5565b60405180910390fd5b610ea5835f848460405180602001604052805f815250611464565b505050565b5f60035f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160035f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610fdd575f6040517f57f447ce000000000000000000000000000000000000000000000000000000008152600401610fd491906127e5565b60405180910390fd5b5f80610fe98585611510565b91509150610ffa5f87848487611464565b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611072575f6040517fced3e10000000000000000000000000000000000000000000000000000000000815260040161106991906127e5565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161115e9190611f7b565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036111db575f6040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016111d291906127e5565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361124b575f6040517f01a8351400000000000000000000000000000000000000000000000000000000815260040161124291906127e5565b60405180910390fd5b5f806112578585611510565b915091506112688787848487611464565b50505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112e1575f6040517f01a835140000000000000000000000000000000000000000000000000000000081526004016112d891906127e5565b60405180910390fd5b5f806112ed8484611510565b9150915061130c855f848460405180602001604052805f815250611464565b5050505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061136f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161136557611364612de7565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106113ac576d04ee2d6d415b85acef810000000083816113a2576113a1612de7565b5b0492506020810190505b662386f26fc1000083106113db57662386f26fc1000083816113d1576113d0612de7565b5b0492506010810190505b6305f5e1008310611404576305f5e10083816113fa576113f9612de7565b5b0492506008810190505b612710831061142957612710838161141f5761141e612de7565b5b0492506004810190505b6064831061144c576064838161144257611441612de7565b5b0492506002810190505b600a831061145b576001810190505b80915050919050565b61147085858585611540565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611509575f6114ac610cf9565b905060018451036114f8575f6114cb5f86610e0790919063ffffffff16565b90505f6114e15f86610e0790919063ffffffff16565b90506114f1838989858589611552565b5050611507565b611506818787878787611701565b5b505b5050505050565b60608060405191506001825283602083015260408201905060018152826020820152604081016040529250929050565b61154c848484846118b0565b50505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b11156116f9578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016115b2959493929190612e66565b6020604051808303815f875af19250505080156115ed57506040513d601f19601f820116820180604052508101906115ea9190612ed2565b60015b61166e573d805f811461161b576040519150601f19603f3d011682016040523d82523d5f602084013e611620565b606091505b505f81510361166657846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161165d91906127e5565b60405180910390fd5b805181602001fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146116f757846040517f57f447ce0000000000000000000000000000000000000000000000000000000081526004016116ee91906127e5565b60405180910390fd5b505b505050505050565b5f8473ffffffffffffffffffffffffffffffffffffffff163b11156118a8578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401611761959493929190612efd565b6020604051808303815f875af192505050801561179c57506040513d601f19601f820116820180604052508101906117999190612ed2565b60015b61181d573d805f81146117ca576040519150601f19603f3d011682016040523d82523d5f602084013e6117cf565b606091505b505f81510361181557846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161180c91906127e5565b60405180910390fd5b805181602001fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146118a657846040517f57f447ce00000000000000000000000000000000000000000000000000000000815260040161189d91906127e5565b60405180910390fd5b505b505050505050565b6118bc84848484611a4d565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361198f575f805b8351811015611974575f83828151811061190f5761190e612af1565b5b602002602001015190508060045f8785815181106119305761192f612af1565b5b602002602001015181526020019081526020015f205f8282546119539190612f90565b9250508190555080836119669190612f90565b9250508060010190506118f2565b508060055f8282546119869190612f90565b92505081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a47575f805b8351811015611a35575f8382815181106119e2576119e1612af1565b5b602002602001015190508060045f878581518110611a0357611a02612af1565b5b602002602001015181526020019081526020015f205f82825403925050819055508083019250508060010190506119c5565b508060055f8282540392505081905550505b50505050565b8051825114611a9757815181516040517f5b059991000000000000000000000000000000000000000000000000000000008152600401611a8e929190612aca565b60405180910390fd5b5f611aa0610cf9565b90505f5b8351811015611c9c575f611ac18286610e0790919063ffffffff16565b90505f611ad78386610e0790919063ffffffff16565b90505f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614611bfa575f805f8481526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611ba657888183856040517f03dee4c5000000000000000000000000000000000000000000000000000000008152600401611b9d9493929190612fc3565b60405180910390fd5b8181035f808581526020019081526020015f205f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff1614611c8f57805f808481526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254611c879190612f90565b925050819055505b5050806001019050611aa4565b506001835103611d57575f611cba5f85610e0790919063ffffffff16565b90505f611cd05f85610e0790919063ffffffff16565b90508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051611d48929190612aca565b60405180910390a45050611dd6565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051611dcd929190613006565b60405180910390a45b5050505050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e1782611dee565b9050919050565b611e2781611e0d565b8114611e31575f80fd5b50565b5f81359050611e4281611e1e565b92915050565b5f819050919050565b611e5a81611e48565b8114611e64575f80fd5b50565b5f81359050611e7581611e51565b92915050565b5f8060408385031215611e9157611e90611de6565b5b5f611e9e85828601611e34565b9250506020611eaf85828601611e67565b9150509250929050565b611ec281611e48565b82525050565b5f602082019050611edb5f830184611eb9565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f1581611ee1565b8114611f1f575f80fd5b50565b5f81359050611f3081611f0c565b92915050565b5f60208284031215611f4b57611f4a611de6565b5b5f611f5884828501611f22565b91505092915050565b5f8115159050919050565b611f7581611f61565b82525050565b5f602082019050611f8e5f830184611f6c565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611fe282611f9c565b810181811067ffffffffffffffff8211171561200157612000611fac565b5b80604052505050565b5f612013611ddd565b905061201f8282611fd9565b919050565b5f67ffffffffffffffff82111561203e5761203d611fac565b5b61204782611f9c565b9050602081019050919050565b828183375f83830152505050565b5f61207461206f84612024565b61200a565b9050828152602081018484840111156120905761208f611f98565b5b61209b848285612054565b509392505050565b5f82601f8301126120b7576120b6611f94565b5b81356120c7848260208601612062565b91505092915050565b5f602082840312156120e5576120e4611de6565b5b5f82013567ffffffffffffffff81111561210257612101611dea565b5b61210e848285016120a3565b91505092915050565b5f6020828403121561212c5761212b611de6565b5b5f61213984828501611e67565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561217957808201518184015260208101905061215e565b5f8484015250505050565b5f61218e82612142565b612198818561214c565b93506121a881856020860161215c565b6121b181611f9c565b840191505092915050565b5f6020820190508181035f8301526121d48184612184565b905092915050565b5f67ffffffffffffffff8211156121f6576121f5611fac565b5b602082029050602081019050919050565b5f80fd5b5f61221d612218846121dc565b61200a565b905080838252602082019050602084028301858111156122405761223f612207565b5b835b8181101561226957806122558882611e67565b845260208401935050602081019050612242565b5050509392505050565b5f82601f83011261228757612286611f94565b5b813561229784826020860161220b565b91505092915050565b5f67ffffffffffffffff8211156122ba576122b9611fac565b5b6122c382611f9c565b9050602081019050919050565b5f6122e26122dd846122a0565b61200a565b9050828152602081018484840111156122fe576122fd611f98565b5b612309848285612054565b509392505050565b5f82601f83011261232557612324611f94565b5b81356123358482602086016122d0565b91505092915050565b5f805f806080858703121561235657612355611de6565b5b5f61236387828801611e34565b945050602085013567ffffffffffffffff81111561238457612383611dea565b5b61239087828801612273565b935050604085013567ffffffffffffffff8111156123b1576123b0611dea565b5b6123bd87828801612273565b925050606085013567ffffffffffffffff8111156123de576123dd611dea565b5b6123ea87828801612311565b91505092959194509250565b5f805f805f60a0868803121561240f5761240e611de6565b5b5f61241c88828901611e34565b955050602061242d88828901611e34565b945050604086013567ffffffffffffffff81111561244e5761244d611dea565b5b61245a88828901612273565b935050606086013567ffffffffffffffff81111561247b5761247a611dea565b5b61248788828901612273565b925050608086013567ffffffffffffffff8111156124a8576124a7611dea565b5b6124b488828901612311565b9150509295509295909350565b5f67ffffffffffffffff8211156124db576124da611fac565b5b602082029050602081019050919050565b5f6124fe6124f9846124c1565b61200a565b9050808382526020820190506020840283018581111561252157612520612207565b5b835b8181101561254a57806125368882611e34565b845260208401935050602081019050612523565b5050509392505050565b5f82601f83011261256857612567611f94565b5b81356125788482602086016124ec565b91505092915050565b5f806040838503121561259757612596611de6565b5b5f83013567ffffffffffffffff8111156125b4576125b3611dea565b5b6125c085828601612554565b925050602083013567ffffffffffffffff8111156125e1576125e0611dea565b5b6125ed85828601612273565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61262981611e48565b82525050565b5f61263a8383612620565b60208301905092915050565b5f602082019050919050565b5f61265c826125f7565b6126668185612601565b935061267183612611565b805f5b838110156126a1578151612688888261262f565b975061269383612646565b925050600181019050612674565b5085935050505092915050565b5f6020820190508181035f8301526126c68184612652565b905092915050565b5f805f606084860312156126e5576126e4611de6565b5b5f6126f286828701611e34565b935050602084013567ffffffffffffffff81111561271357612712611dea565b5b61271f86828701612273565b925050604084013567ffffffffffffffff8111156127405761273f611dea565b5b61274c86828701612273565b9150509250925092565b5f805f806080858703121561276e5761276d611de6565b5b5f61277b87828801611e34565b945050602061278c87828801611e67565b935050604061279d87828801611e67565b925050606085013567ffffffffffffffff8111156127be576127bd611dea565b5b6127ca87828801612311565b91505092959194509250565b6127df81611e0d565b82525050565b5f6020820190506127f85f8301846127d6565b92915050565b61280781611f61565b8114612811575f80fd5b50565b5f81359050612822816127fe565b92915050565b5f806040838503121561283e5761283d611de6565b5b5f61284b85828601611e34565b925050602061285c85828601612814565b9150509250929050565b5f806040838503121561287c5761287b611de6565b5b5f61288985828601611e34565b925050602061289a85828601611e34565b9150509250929050565b5f805f805f60a086880312156128bd576128bc611de6565b5b5f6128ca88828901611e34565b95505060206128db88828901611e34565b94505060406128ec88828901611e67565b93505060606128fd88828901611e67565b925050608086013567ffffffffffffffff81111561291e5761291d611dea565b5b61292a88828901612311565b9150509295509295909350565b5f6020828403121561294c5761294b611de6565b5b5f61295984828501611e34565b91505092915050565b5f805f6060848603121561297957612978611de6565b5b5f61298686828701611e34565b935050602061299786828701611e67565b92505060406129a886828701611e67565b9150509250925092565b5f81905092915050565b7f68747470733a2f2f676174657761792e70696e6174612e636c6f75642f6970665f8201527f732f516d645a694d6f3163624d53666638713163554e355a7166613845724c7560208201527f3655704a71586f7a734d62536d504a532f000000000000000000000000000000604082015250565b5f612a3c6051836129b2565b9150612a47826129bc565b605182019050919050565b5f612a5c82612142565b612a6681856129b2565b9350612a7681856020860161215c565b80840191505092915050565b5f612a8c82612a30565b9150612a988284612a52565b915081905092915050565b5f604082019050612ab65f8301856127d6565b612ac360208301846127d6565b9392505050565b5f604082019050612add5f830185611eb9565b612aea6020830184611eb9565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612b6257607f821691505b602082108103612b7557612b74612b1e565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612bd77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612b9c565b612be18683612b9c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f612c1c612c17612c1284611e48565b612bf9565b611e48565b9050919050565b5f819050919050565b612c3583612c02565b612c49612c4182612c23565b848454612ba8565b825550505050565b5f90565b612c5d612c51565b612c68818484612c2c565b505050565b5b81811015612c8b57612c805f82612c55565b600181019050612c6e565b5050565b601f821115612cd057612ca181612b7b565b612caa84612b8d565b81016020851015612cb9578190505b612ccd612cc585612b8d565b830182612c6d565b50505b505050565b5f82821c905092915050565b5f612cf05f1984600802612cd5565b1980831691505092915050565b5f612d088383612ce1565b9150826002028217905092915050565b612d2182612142565b67ffffffffffffffff811115612d3a57612d39611fac565b5b612d448254612b4b565b612d4f828285612c8f565b5f60209050601f831160018114612d80575f8415612d6e578287015190505b612d788582612cfd565b865550612ddf565b601f198416612d8e86612b7b565b5f5b82811015612db557848901518255600182019150602085019450602081019050612d90565b86831015612dd25784890151612dce601f891682612ce1565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f612e3882612e14565b612e428185612e1e565b9350612e5281856020860161215c565b612e5b81611f9c565b840191505092915050565b5f60a082019050612e795f8301886127d6565b612e8660208301876127d6565b612e936040830186611eb9565b612ea06060830185611eb9565b8181036080830152612eb28184612e2e565b90509695505050505050565b5f81519050612ecc81611f0c565b92915050565b5f60208284031215612ee757612ee6611de6565b5b5f612ef484828501612ebe565b91505092915050565b5f60a082019050612f105f8301886127d6565b612f1d60208301876127d6565b8181036040830152612f2f8186612652565b90508181036060830152612f438185612652565b90508181036080830152612f578184612e2e565b90509695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612f9a82611e48565b9150612fa583611e48565b9250828201905080821115612fbd57612fbc612f63565b5b92915050565b5f608082019050612fd65f8301876127d6565b612fe36020830186611eb9565b612ff06040830185611eb9565b612ffd6060830184611eb9565b95945050505050565b5f6040820190508181035f83015261301e8185612652565b905081810360208301526130328184612652565b9050939250505056fea2646970667358221220bb13f2274167f2f559e1bbbff1e7a35f672a177d1bc860bb88cc7122acebd5c164736f6c6343000818003368747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f516d645a694d6f3163624d53666638713163554e355a7166613845724c753655704a71586f7a734d62536d504a532f7b69647d000000000000000000000000b447b712e5267732f88b7442e3c34f7018b68468