6080604052670de0b6b3a76400006c0c9f2c9cd04674edea4000000062000027919062000539565b6c0c9f2c9cd04674edea400000006200004191906200059d565b6006555f60085560016009555f600a556001600b55600a54600c55600b54600d55600c54600e55600d54600f5573200dbee918c4f10081cfd59da85a6c1937b674e060105f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507338f1af2a2efe1684b5482e465d89c1d683ebf2cd60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f601360146101000a81548160ff0219169083151502179055505f601360156101000a81548160ff0219169083151502179055505f601360166101000a81548160ff0219169083151502179055505f601360176101000a81548160ff021916908315150217905550666a94d74f430000601455666a94d74f43000060155566038d7ea4c68000601655348015620001ab575f80fd5b505f620001bd620004d560201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460025f6200026f620004d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160055f620002c1620004dc60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160055f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000461620004d560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a7640000604051620004c79190620005e8565b60405180910390a362000603565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f819050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f620005458262000503565b9150620005528362000503565b9250826200056557620005646200050c565b5b828206905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620005a98262000503565b9150620005b68362000503565b9250828203905081811115620005d157620005d062000570565b5b92915050565b620005e28162000503565b82525050565b5f602082019050620005fd5f830184620005d7565b92915050565b61380680620006115f395ff3fe60806040526004361061014e575f3560e01c80637d1db4a5116100b5578063b2c5fa5f1161006e578063b2c5fa5f14610469578063c492f0461461047f578063dd62ed3e146104a7578063ea1644d5146104e3578063ed9953071461050b578063f2fde38b1461051557610155565b80637d1db4a51461035d5780638da5cb5b146103875780638f9a55c0146103b157806395d89b41146103db57806398a5c31514610405578063a9059cbb1461042d57610155565b8063313ce56711610107578063313ce5671461027957806349bd5a5e146102a357806370a08231146102cd578063715018a61461030957806374010ece1461031f578063751039fc1461034757610155565b806306fdde0314610159578063095ea7b3146101835780631694505e146101bf57806318160ddd146101e957806323b872dd146102135780632fd689e31461024f57610155565b3661015557005b5f80fd5b348015610164575f80fd5b5061016d61053d565b60405161017a9190612945565b60405180910390f35b34801561018e575f80fd5b506101a960048036038101906101a491906129fa565b61057a565b6040516101b69190612a52565b60405180910390f35b3480156101ca575f80fd5b506101d3610597565b6040516101e09190612ac6565b60405180910390f35b3480156101f4575f80fd5b506101fd6105bc565b60405161020a9190612aee565b60405180910390f35b34801561021e575f80fd5b5061023960048036038101906102349190612b07565b6105cb565b6040516102469190612a52565b60405180910390f35b34801561025a575f80fd5b5061026361069f565b6040516102709190612aee565b60405180910390f35b348015610284575f80fd5b5061028d6106a5565b60405161029a9190612b72565b60405180910390f35b3480156102ae575f80fd5b506102b76106ad565b6040516102c49190612b9a565b60405180910390f35b3480156102d8575f80fd5b506102f360048036038101906102ee9190612bb3565b6106d2565b6040516103009190612aee565b60405180910390f35b348015610314575f80fd5b5061031d610720565b005b34801561032a575f80fd5b5061034560048036038101906103409190612bde565b61086e565b005b348015610352575f80fd5b5061035b61090c565b005b348015610368575f80fd5b506103716109fe565b60405161037e9190612aee565b60405180910390f35b348015610392575f80fd5b5061039b610a04565b6040516103a89190612b9a565b60405180910390f35b3480156103bc575f80fd5b506103c5610a2b565b6040516103d29190612aee565b60405180910390f35b3480156103e6575f80fd5b506103ef610a31565b6040516103fc9190612945565b60405180910390f35b348015610410575f80fd5b5061042b60048036038101906104269190612bde565b610a6e565b005b348015610438575f80fd5b50610453600480360381019061044e91906129fa565b610b0c565b6040516104609190612a52565b60405180910390f35b348015610474575f80fd5b5061047d610b29565b005b34801561048a575f80fd5b506104a560048036038101906104a09190612c94565b610bf5565b005b3480156104b2575f80fd5b506104cd60048036038101906104c89190612cf1565b610d2a565b6040516104da9190612aee565b60405180910390f35b3480156104ee575f80fd5b5061050960048036038101906105049190612bde565b610dac565b005b610513610e4a565b005b348015610520575f80fd5b5061053b60048036038101906105369190612bb3565b61121b565b005b60606040518060400160405280600c81526020017f556e695065706520436f696e0000000000000000000000000000000000000000815250905090565b5f61058d6105866113d8565b84846113df565b6001905092915050565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f670de0b6b3a7640000905090565b5f6105d78484846115a2565b610694846105e36113d8565b61068f856040518060600160405280602881526020016137a96028913960045f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6106466113d8565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e129092919063ffffffff16565b6113df565b600190509392505050565b60165481565b5f6009905090565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f61071960025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611e74565b9050919050565b6107286113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ab90612d79565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6108766113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610902576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f990612d79565b60405180910390fd5b8060148190555050565b6109146113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099790612d79565b60405180910390fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6014819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6015819055505f6009819055505f600b81905550565b60145481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60155481565b60606040518060400160405280600781526020017f554e495045504500000000000000000000000000000000000000000000000000815250905090565b610a766113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af990612d79565b60405180910390fd5b8060168190555050565b5f610b1f610b186113d8565b84846115a2565b6001905092915050565b610b316113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb490612d79565b60405180910390fd5b6001601360146101000a81548160ff0219169083151502179055506001601360176101000a81548160ff021916908315150217905550565b610bfd6113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c8090612d79565b60405180910390fd5b5f5b83839050811015610d24578160055f868685818110610cad57610cac612d97565b5b9050602002016020810190610cc29190612bb3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610d1c90612df1565b915050610c8b565b50505050565b5f60045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610db46113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3790612d79565b60405180910390fd5b8060158190555050565b610e526113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ede576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed590612d79565b60405180910390fd5b5f737a250d5630b4cf539739df2c5dacb4c659f2488d90508060125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f7f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fa39190612e4c565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611008573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061102c9190612e4c565b6040518363ffffffff1660e01b8152600401611049929190612e77565b6020604051808303815f875af1158015611065573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110899190612e4c565b60135f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f1960045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71934306111af306106d2565b5f8033426040518863ffffffff1660e01b81526004016111d496959493929190612ed7565b60606040518083038185885af11580156111f0573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906112159190612f4a565b50505050565b6112236113d8565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a690612d79565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361131d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113149061300a565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361144d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144490613098565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036114bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b290613126565b60405180910390fd5b8060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516115959190612aee565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611607906131b4565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361167e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167590613242565b60405180910390fd5b5f81116116c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b7906132d0565b60405180910390fd5b60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1615801561175e575060055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a7657601360149054906101000a900460ff166117ed5761177f610a04565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146117ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117e39061335e565b60405180910390fd5b5b601454811115611832576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611829906133c6565b60405180910390fd5b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146118de5760155481611893846106d2565b61189d91906133e4565b106118dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118d490613487565b60405180910390fd5b5b5f6118e8306106d2565b90505f808211905080801561190a5750601360159054906101000a900460ff16155b8015611963575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b801561197b5750601360179054906101000a900460ff165b80156119ce575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611a21575060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611a7357611a5b601360169054906101000a900460ff1615611a45576002611a48565b60015b60ff1683611a5691906134a5565b611e9b565b5f4790505f811115611a7157611a7047612106565b5b505b50505b5f6001905060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611b16575060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b80611bc7575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611bc6575060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b15611c7d575f905060135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611c5757503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611c78576001601360166101000a81548160ff0219169083151502179055505b611e00565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611d26575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611d3e57600854600c81905550600954600d819055505b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16148015611de7575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611dff57600a54600c81905550600b54600d819055505b5b611e0c8484848461216e565b50505050565b5f838311158290611e59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e509190612945565b60405180910390fd5b505f8385611e6791906134e6565b9050809150509392505050565b5f80611e7e6121eb565b9050611e93818461221490919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611ed257611ed1613519565b5b604051908082528060200260200182016040528015611f005781602001602082028036833780820191505090505b50905030815f81518110611f1757611f16612d97565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fbb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fdf9190612e4c565b81600181518110611ff357611ff2612d97565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506120593060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846113df565b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016120bb9594939291906135fd565b5f604051808303815f87803b1580156120d2575f80fd5b505af11580156120e4573d5f803e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561216a573d5f803e3d5ffd5b5050565b8061217c5761217b61225d565b5b6121d784848460115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614612296565b806121e5576121e4612458565b5b50505050565b5f805f6121f661246c565b9150915061220d818361221490919063ffffffff16565b9250505090565b5f61225583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124c8565b905092915050565b5f600c5414801561226f57505f600d54145b61229457600c54600e81905550600d54600f819055505f600c819055505f600d819055505b565b5f805f805f806122a68888612529565b9550955095509550955095506123028660025f8d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461259790919063ffffffff16565b60025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506123938560025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125e090919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506123dd8161263d565b6123e784836126f4565b8873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516124449190612aee565b60405180910390a350505050505050505050565b600e54600c81905550600f54600d81905550565b5f805f60065490505f670de0b6b3a7640000905061249d670de0b6b3a764000060065461221490919063ffffffff16565b8210156124bb57600654670de0b6b3a76400009350935050506124c4565b81819350935050505b9091565b5f808311829061250e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125059190612945565b60405180910390fd5b505f838561251c9190613682565b9050809150509392505050565b5f805f805f805f805f6125418b600c54600d5461272e565b9250925092505f6125506121eb565b90505f805f6125618f8787876127c0565b9250925092508d15612573575f612575565b825b82828989899c509c509c509c509c509c50505050505050509295509295509295565b5f6125d883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611e12565b905092915050565b5f8082846125ee91906133e4565b905083811015612633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262a906136fc565b60405180910390fd5b8091505092915050565b5f6126466121eb565b90505f61265c828461284490919063ffffffff16565b90506126ae8160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546125e090919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b6127098260065461259790919063ffffffff16565b600681905550612724816007546125e090919063ffffffff16565b6007819055505050565b5f805f80612758606461274a888a61284490919063ffffffff16565b61221490919063ffffffff16565b90505f6127816064612773888b61284490919063ffffffff16565b61221490919063ffffffff16565b90505f6127a98261279b858c61259790919063ffffffff16565b61259790919063ffffffff16565b905080838395509550955050505093509350939050565b5f805f806127d7858961284490919063ffffffff16565b90505f6127ed868961284490919063ffffffff16565b90505f612803878961284490919063ffffffff16565b90505f61282b8261281d858761259790919063ffffffff16565b61259790919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f808303612854575f90506128b5565b5f828461286191906134a5565b90508284826128709190613682565b146128b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a79061378a565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156128f25780820151818401526020810190506128d7565b5f8484015250505050565b5f601f19601f8301169050919050565b5f612917826128bb565b61292181856128c5565b93506129318185602086016128d5565b61293a816128fd565b840191505092915050565b5f6020820190508181035f83015261295d818461290d565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6129968261296d565b9050919050565b6129a68161298c565b81146129b0575f80fd5b50565b5f813590506129c18161299d565b92915050565b5f819050919050565b6129d9816129c7565b81146129e3575f80fd5b50565b5f813590506129f4816129d0565b92915050565b5f8060408385031215612a1057612a0f612965565b5b5f612a1d858286016129b3565b9250506020612a2e858286016129e6565b9150509250929050565b5f8115159050919050565b612a4c81612a38565b82525050565b5f602082019050612a655f830184612a43565b92915050565b5f819050919050565b5f612a8e612a89612a848461296d565b612a6b565b61296d565b9050919050565b5f612a9f82612a74565b9050919050565b5f612ab082612a95565b9050919050565b612ac081612aa6565b82525050565b5f602082019050612ad95f830184612ab7565b92915050565b612ae8816129c7565b82525050565b5f602082019050612b015f830184612adf565b92915050565b5f805f60608486031215612b1e57612b1d612965565b5b5f612b2b868287016129b3565b9350506020612b3c868287016129b3565b9250506040612b4d868287016129e6565b9150509250925092565b5f60ff82169050919050565b612b6c81612b57565b82525050565b5f602082019050612b855f830184612b63565b92915050565b612b948161298c565b82525050565b5f602082019050612bad5f830184612b8b565b92915050565b5f60208284031215612bc857612bc7612965565b5b5f612bd5848285016129b3565b91505092915050565b5f60208284031215612bf357612bf2612965565b5b5f612c00848285016129e6565b91505092915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112612c2a57612c29612c09565b5b8235905067ffffffffffffffff811115612c4757612c46612c0d565b5b602083019150836020820283011115612c6357612c62612c11565b5b9250929050565b612c7381612a38565b8114612c7d575f80fd5b50565b5f81359050612c8e81612c6a565b92915050565b5f805f60408486031215612cab57612caa612965565b5b5f84013567ffffffffffffffff811115612cc857612cc7612969565b5b612cd486828701612c15565b93509350506020612ce786828701612c80565b9150509250925092565b5f8060408385031215612d0757612d06612965565b5b5f612d14858286016129b3565b9250506020612d25858286016129b3565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612d636020836128c5565b9150612d6e82612d2f565b602082019050919050565b5f6020820190508181035f830152612d9081612d57565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612dfb826129c7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612e2d57612e2c612dc4565b5b600182019050919050565b5f81519050612e468161299d565b92915050565b5f60208284031215612e6157612e60612965565b5b5f612e6e84828501612e38565b91505092915050565b5f604082019050612e8a5f830185612b8b565b612e976020830184612b8b565b9392505050565b5f819050919050565b5f612ec1612ebc612eb784612e9e565b612a6b565b6129c7565b9050919050565b612ed181612ea7565b82525050565b5f60c082019050612eea5f830189612b8b565b612ef76020830188612adf565b612f046040830187612ec8565b612f116060830186612ec8565b612f1e6080830185612b8b565b612f2b60a0830184612adf565b979650505050505050565b5f81519050612f44816129d0565b92915050565b5f805f60608486031215612f6157612f60612965565b5b5f612f6e86828701612f36565b9350506020612f7f86828701612f36565b9250506040612f9086828701612f36565b9150509250925092565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f612ff46026836128c5565b9150612fff82612f9a565b604082019050919050565b5f6020820190508181035f83015261302181612fe8565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6130826024836128c5565b915061308d82613028565b604082019050919050565b5f6020820190508181035f8301526130af81613076565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6131106022836128c5565b915061311b826130b6565b604082019050919050565b5f6020820190508181035f83015261313d81613104565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61319e6025836128c5565b91506131a982613144565b604082019050919050565b5f6020820190508181035f8301526131cb81613192565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61322c6023836128c5565b9150613237826131d2565b604082019050919050565b5f6020820190508181035f83015261325981613220565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f6132ba6029836128c5565b91506132c582613260565b604082019050919050565b5f6020820190508181035f8301526132e7816132ae565b9050919050565b7f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e64205f8201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400602082015250565b5f613348603f836128c5565b9150613353826132ee565b604082019050919050565b5f6020820190508181035f8301526133758161333c565b9050919050565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d6974000000005f82015250565b5f6133b0601c836128c5565b91506133bb8261337c565b602082019050919050565b5f6020820190508181035f8301526133dd816133a4565b9050919050565b5f6133ee826129c7565b91506133f9836129c7565b925082820190508082111561341157613410612dc4565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f6134716023836128c5565b915061347c82613417565b604082019050919050565b5f6020820190508181035f83015261349e81613465565b9050919050565b5f6134af826129c7565b91506134ba836129c7565b92508282026134c8816129c7565b915082820484148315176134df576134de612dc4565b5b5092915050565b5f6134f0826129c7565b91506134fb836129c7565b925082820390508181111561351357613512612dc4565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6135788161298c565b82525050565b5f613589838361356f565b60208301905092915050565b5f602082019050919050565b5f6135ab82613546565b6135b58185613550565b93506135c083613560565b805f5b838110156135f05781516135d7888261357e565b97506135e283613595565b9250506001810190506135c3565b5085935050505092915050565b5f60a0820190506136105f830188612adf565b61361d6020830187612ec8565b818103604083015261362f81866135a1565b905061363e6060830185612b8b565b61364b6080830184612adf565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61368c826129c7565b9150613697836129c7565b9250826136a7576136a6613655565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6136e6601b836128c5565b91506136f1826136b2565b602082019050919050565b5f6020820190508181035f830152613713816136da565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6137746021836128c5565b915061377f8261371a565b604082019050919050565b5f6020820190508181035f8301526137a181613768565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bc8f359062c87c1665bd34d656a744fc1fea0a90227d7e3653b1a1d08caeb43d64736f6c63430008140033