60806040526127106009556002600a556001600b60006101000a81548160ff021916908315150217905550604051806080016040528060438152602001620036fd60439139600c90805190602001906200005b92919062000245565b5060405180602001604052806000815250600d90805190602001906200008392919062000245565b503480156200009157600080fd5b506040518060400160405280600f81526020017f52617265417065706547726c7a594300000000000000000000000000000000008152506040518060400160405280600381526020017f524147000000000000000000000000000000000000000000000000000000000081525081600290805190602001906200011692919062000245565b5080600390805190602001906200012f92919062000245565b50620001406200016e60201b60201c565b6000819055505050620001686200015c6200017760201b60201c565b6200017f60201b60201c565b6200035a565b60006001905090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200025390620002f5565b90600052602060002090601f016020900481019282620002775760008555620002c3565b82601f106200029257805160ff1916838001178555620002c3565b82800160010185558215620002c3579182015b82811115620002c2578251825591602001919060010190620002a5565b5b509050620002d29190620002d6565b5090565b5b80821115620002f1576000816000905550600101620002d7565b5090565b600060028204905060018216806200030e57607f821691505b602082108114156200032557620003246200032b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613393806200036a6000396000f3fe6080604052600436106102045760003560e01c806395d89b4111610118578063c87b56dd116100a0578063e8a3d4851161006f578063e8a3d48514610722578063e985e9c51461074d578063f2fde38b1461078a578063f4a560a5146107b3578063fddcb5ea146107ca57610204565b8063c87b56dd14610664578063d5abeb01146106a1578063d8210482146106cc578063e193e7e2146106f757610204565b8063b187bd26116100e7578063b187bd2614610593578063b88d4fde146105be578063bedb86fb146105e7578063c002d23d14610610578063c1e3a4331461063b57610204565b806395d89b41146104f857806398710d1e14610523578063a0712d681461054e578063a22cb4651461056a57610204565b80633ccfd60b1161019b5780636352211e1161016a5780636352211e146104135780636f8b44b01461045057806370a0823114610479578063715018a6146104b65780638da5cb5b146104cd57610204565b80633ccfd60b1461038157806342842e0e146103985780634c261247146103c1578063627804af146103ea57610204565b80630de76de4116101d75780630de76de4146102d75780630f2cdd6c1461030257806318160ddd1461032d57806323b872dd1461035857610204565b806301ffc9a71461020957806306fdde0314610246578063081812fc14610271578063095ea7b3146102ae575b600080fd5b34801561021557600080fd5b50610230600480360381019061022b91906126fb565b610807565b60405161023d9190612ac7565b60405180910390f35b34801561025257600080fd5b5061025b610899565b6040516102689190612ae2565b60405180910390f35b34801561027d57600080fd5b506102986004803603810190610293919061279e565b61092b565b6040516102a59190612a60565b60405180910390f35b3480156102ba57600080fd5b506102d560048036038101906102d0919061268e565b6109a7565b005b3480156102e357600080fd5b506102ec610ae8565b6040516102f99190612ac7565b60405180910390f35b34801561030e57600080fd5b50610317610afb565b6040516103249190612c24565b60405180910390f35b34801561033957600080fd5b50610342610b00565b60405161034f9190612c24565b60405180910390f35b34801561036457600080fd5b5061037f600480360381019061037a9190612578565b610b17565b005b34801561038d57600080fd5b50610396610e3c565b005b3480156103a457600080fd5b506103bf60048036038101906103ba9190612578565b610ebd565b005b3480156103cd57600080fd5b506103e860048036038101906103e39190612755565b610edd565b005b3480156103f657600080fd5b50610411600480360381019061040c919061268e565b610f4f565b005b34801561041f57600080fd5b5061043a6004803603810190610435919061279e565b610fbc565b6040516104479190612a60565b60405180910390f35b34801561045c57600080fd5b506104776004803603810190610472919061279e565b610fce565b005b34801561048557600080fd5b506104a0600480360381019061049b919061250b565b610fe0565b6040516104ad9190612c24565b60405180910390f35b3480156104c257600080fd5b506104cb611099565b005b3480156104d957600080fd5b506104e26110ad565b6040516104ef9190612a60565b60405180910390f35b34801561050457600080fd5b5061050d6110d7565b60405161051a9190612ae2565b60405180910390f35b34801561052f57600080fd5b50610538611169565b6040516105459190612c24565b60405180910390f35b6105686004803603810190610563919061279e565b61116f565b005b34801561057657600080fd5b50610591600480360381019061058c919061264e565b611429565b005b34801561059f57600080fd5b506105a86115a1565b6040516105b59190612ac7565b60405180910390f35b3480156105ca57600080fd5b506105e560048036038101906105e091906125cb565b6115b4565b005b3480156105f357600080fd5b5061060e600480360381019061060991906126ce565b611627565b005b34801561061c57600080fd5b5061062561164c565b6040516106329190612c24565b60405180910390f35b34801561064757600080fd5b50610662600480360381019061065d919061279e565b611657565b005b34801561067057600080fd5b5061068b6004803603810190610686919061279e565b611669565b6040516106989190612ae2565b60405180910390f35b3480156106ad57600080fd5b506106b661178c565b6040516106c39190612c24565b60405180910390f35b3480156106d857600080fd5b506106e1611792565b6040516106ee9190612ae2565b60405180910390f35b34801561070357600080fd5b5061070c611820565b6040516107199190612c24565b60405180910390f35b34801561072e57600080fd5b50610737611825565b6040516107449190612ae2565b60405180910390f35b34801561075957600080fd5b50610774600480360381019061076f9190612538565b61183c565b6040516107819190612ac7565b60405180910390f35b34801561079657600080fd5b506107b160048036038101906107ac919061250b565b6118d0565b005b3480156107bf57600080fd5b506107c8611954565b005b3480156107d657600080fd5b506107f160048036038101906107ec919061250b565b611979565b6040516107fe9190612c24565b60405180910390f35b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061086257506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108925750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546108a890612edf565b80601f01602080910402602001604051908101604052809291908181526020018280546108d490612edf565b80156109215780601f106108f657610100808354040283529160200191610921565b820191906000526020600020905b81548152906001019060200180831161090457829003601f168201915b5050505050905090565b6000610936826119c2565b61096c576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006109b282610fbc565b90508073ffffffffffffffffffffffffffffffffffffffff166109d3611a21565b73ffffffffffffffffffffffffffffffffffffffff1614610a36576109ff816109fa611a21565b61183c565b610a35576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600b60019054906101000a900460ff1681565b606481565b6000610b0a611a29565b6001546000540303905090565b6000610b2282611a32565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b89576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080610b9584611b00565b91509150610bab8187610ba6611a21565b611b22565b610bf757610bc086610bbb611a21565b61183c565b610bf6576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415610c5e576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c6b8686866001611b66565b8015610c7657600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610d4485610d20888887611b6c565b7c020000000000000000000000000000000000000000000000000000000017611b94565b600460008681526020019081526020016000208190555060007c020000000000000000000000000000000000000000000000000000000084161415610dcc576000600185019050600060046000838152602001908152602001600020541415610dca576000548114610dc9578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e348686866001611bbf565b505050505050565b610e44611bc5565b60003373ffffffffffffffffffffffffffffffffffffffff1647604051610e6a90612a4b565b60006040518083038185875af1925050503d8060008114610ea7576040519150601f19603f3d011682016040523d82523d6000602084013e610eac565b606091505b5050905080610eba57600080fd5b50565b610ed8838383604051806020016040528060008152506115b4565b505050565b610ee5611bc5565b600b60019054906101000a900460ff1615610f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2c90612b04565b60405180910390fd5b80600c9080519060200190610f4b92919061231f565b5050565b610f57611bc5565b60095481610f63611c43565b610f6d9190612d14565b1115610fae576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa590612b84565b60405180910390fd5b610fb88282611c56565b5050565b6000610fc782611a32565b9050919050565b610fd6611bc5565b8060098190555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611048576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b6110a1611bc5565b6110ab6000611c74565b565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600380546110e690612edf565b80601f016020809104026020016040519081016040528092919081815260200182805461111290612edf565b801561115f5780601f106111345761010080835404028352916020019161115f565b820191906000526020600020905b81548152906001019060200180831161114257829003601f168201915b5050505050905090565b600a5481565b600b60009054906101000a900460ff16156111bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b690612b64565b60405180910390fd5b600a811115611203576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111fa90612b44565b60405180910390fd5b6009548161120f611c43565b6112199190612d14565b111561125a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125190612b84565b60405180910390fd5b606481600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546112a79190612d14565b11156112e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112df90612c04565b60405180910390fd5b60008190506000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600a5481101561136f57600081600a5461134b9190612df5565b9050808411156113685780846113619190612df5565b925061136d565b600092505b505b660aa87bee538000826113829190612d9b565b3410156113c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113bb90612ba4565b60405180910390fd5b82600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114139190612d14565b925050819055506114243384611c56565b505050565b611431611a21565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611496576040517fb06307db00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600760006114a3611a21565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611550611a21565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516115959190612ac7565b60405180910390a35050565b600b60009054906101000a900460ff1681565b6115bf848484610b17565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611621576115ea84848484611d3a565b611620576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b61162f611bc5565b80600b60006101000a81548160ff02191690831515021790555050565b660aa87bee53800081565b61165f611bc5565b80600a8190555050565b6060611674826119c2565b6116b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116aa90612be4565b60405180910390fd5b60006116bd611e9a565b511161175357600d80546116d090612edf565b80601f01602080910402602001604051908101604052809291908181526020018280546116fc90612edf565b80156117495780601f1061171e57610100808354040283529160200191611749565b820191906000526020600020905b81548152906001019060200180831161172c57829003601f168201915b5050505050611785565b61175b611e9a565b61176483611f2c565b604051602001611775929190612a1c565b6040516020818303038152906040525b9050919050565b60095481565b600d805461179f90612edf565b80601f01602080910402602001604051908101604052809291908181526020018280546117cb90612edf565b80156118185780601f106117ed57610100808354040283529160200191611818565b820191906000526020600020905b8154815290600101906020018083116117fb57829003601f168201915b505050505081565b600a81565b606060405180602001604052806000815250905090565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6118d8611bc5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193f90612b24565b60405180910390fd5b61195181611c74565b50565b61195c611bc5565b6001600b60016101000a81548160ff021916908315150217905550565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000816119cd611a29565b111580156119dc575060005482105b8015611a1a575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b60006001905090565b60008082905080611a41611a29565b11611ac957600054811015611ac85760006004600083815260200190815260200160002054905060007c010000000000000000000000000000000000000000000000000000000082161415611ac6575b6000811415611abc576004600083600190039350838152602001908152602001600020549050611a91565b8092505050611afb565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000806000600690508360005280602052604060002092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e8611b8386868461208d565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b611bcd612096565b73ffffffffffffffffffffffffffffffffffffffff16611beb6110ad565b73ffffffffffffffffffffffffffffffffffffffff1614611c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3890612bc4565b60405180910390fd5b565b6000611c4d611a29565b60005403905090565b611c7082826040518060200160405280600081525061209e565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d60611a21565b8786866040518563ffffffff1660e01b8152600401611d829493929190612a7b565b602060405180830381600087803b158015611d9c57600080fd5b505af1925050508015611dcd57506040513d601f19601f82011682018060405250810190611dca9190612728565b60015b611e47573d8060008114611dfd576040519150601f19603f3d011682016040523d82523d6000602084013e611e02565b606091505b50600081511415611e3f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600c8054611ea990612edf565b80601f0160208091040260200160405190810160405280929190818152602001828054611ed590612edf565b8015611f225780601f10611ef757610100808354040283529160200191611f22565b820191906000526020600020905b815481529060010190602001808311611f0557829003601f168201915b5050505050905090565b60606000821415611f74576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612088565b600082905060005b60008214611fa6578080611f8f90612f42565b915050600a82611f9f9190612d6a565b9150611f7c565b60008167ffffffffffffffff811115611fc257611fc1613078565b5b6040519080825280601f01601f191660200182016040528015611ff45781602001600182028036833780820191505090505b5090505b600085146120815760018261200d9190612df5565b9150600a8561201c9190612f8b565b60306120289190612d14565b60f81b81838151811061203e5761203d613049565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a8561207a9190612d6a565b9450611ff8565b8093505050505b919050565b60009392505050565b600033905090565b6120a8838361213b565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461213657600080549050600083820390505b6120e86000868380600101945086611d3a565b61211e576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106120d557816000541461213357600080fd5b50505b505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121a8576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008214156121e3576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6121f06000848385611b66565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612267836122586000866000611b6c565b6122618561230f565b17611b94565b60046000838152602001908152602001600020819055506000819050600083830190505b818060010192508573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a480821061228b5780600081905550505061230a6000848385611bbf565b505050565b60006001821460e11b9050919050565b82805461232b90612edf565b90600052602060002090601f01602090048101928261234d5760008555612394565b82601f1061236657805160ff1916838001178555612394565b82800160010185558215612394579182015b82811115612393578251825591602001919060010190612378565b5b5090506123a191906123a5565b5090565b5b808211156123be5760008160009055506001016123a6565b5090565b60006123d56123d084612c64565b612c3f565b9050828152602081018484840111156123f1576123f06130ac565b5b6123fc848285612e9d565b509392505050565b600061241761241284612c95565b612c3f565b905082815260208101848484011115612433576124326130ac565b5b61243e848285612e9d565b509392505050565b60008135905061245581613301565b92915050565b60008135905061246a81613318565b92915050565b60008135905061247f8161332f565b92915050565b6000815190506124948161332f565b92915050565b600082601f8301126124af576124ae6130a7565b5b81356124bf8482602086016123c2565b91505092915050565b600082601f8301126124dd576124dc6130a7565b5b81356124ed848260208601612404565b91505092915050565b60008135905061250581613346565b92915050565b600060208284031215612521576125206130b6565b5b600061252f84828501612446565b91505092915050565b6000806040838503121561254f5761254e6130b6565b5b600061255d85828601612446565b925050602061256e85828601612446565b9150509250929050565b600080600060608486031215612591576125906130b6565b5b600061259f86828701612446565b93505060206125b086828701612446565b92505060406125c1868287016124f6565b9150509250925092565b600080600080608085870312156125e5576125e46130b6565b5b60006125f387828801612446565b945050602061260487828801612446565b9350506040612615878288016124f6565b925050606085013567ffffffffffffffff811115612636576126356130b1565b5b6126428782880161249a565b91505092959194509250565b60008060408385031215612665576126646130b6565b5b600061267385828601612446565b92505060206126848582860161245b565b9150509250929050565b600080604083850312156126a5576126a46130b6565b5b60006126b385828601612446565b92505060206126c4858286016124f6565b9150509250929050565b6000602082840312156126e4576126e36130b6565b5b60006126f28482850161245b565b91505092915050565b600060208284031215612711576127106130b6565b5b600061271f84828501612470565b91505092915050565b60006020828403121561273e5761273d6130b6565b5b600061274c84828501612485565b91505092915050565b60006020828403121561276b5761276a6130b6565b5b600082013567ffffffffffffffff811115612789576127886130b1565b5b612795848285016124c8565b91505092915050565b6000602082840312156127b4576127b36130b6565b5b60006127c2848285016124f6565b91505092915050565b6127d481612e29565b82525050565b6127e381612e3b565b82525050565b60006127f482612cc6565b6127fe8185612cdc565b935061280e818560208601612eac565b612817816130bb565b840191505092915050565b600061282d82612cd1565b6128378185612cf8565b9350612847818560208601612eac565b612850816130bb565b840191505092915050565b600061286682612cd1565b6128708185612d09565b9350612880818560208601612eac565b80840191505092915050565b6000612899601583612cf8565b91506128a4826130cc565b602082019050919050565b60006128bc602683612cf8565b91506128c7826130f5565b604082019050919050565b60006128df602183612cf8565b91506128ea82613144565b604082019050919050565b6000612902600d83612cf8565b915061290d82613193565b602082019050919050565b6000612925601283612cf8565b9150612930826131bc565b602082019050919050565b6000612948602283612cf8565b9150612953826131e5565b604082019050919050565b600061296b600583612d09565b915061297682613234565b600582019050919050565b600061298e602083612cf8565b91506129998261325d565b602082019050919050565b60006129b1602f83612cf8565b91506129bc82613286565b604082019050919050565b60006129d4600083612ced565b91506129df826132d5565b600082019050919050565b60006129f7601683612cf8565b9150612a02826132d8565b602082019050919050565b612a1681612e93565b82525050565b6000612a28828561285b565b9150612a34828461285b565b9150612a3f8261295e565b91508190509392505050565b6000612a56826129c7565b9150819050919050565b6000602082019050612a7560008301846127cb565b92915050565b6000608082019050612a9060008301876127cb565b612a9d60208301866127cb565b612aaa6040830185612a0d565b8181036060830152612abc81846127e9565b905095945050505050565b6000602082019050612adc60008301846127da565b92915050565b60006020820190508181036000830152612afc8184612822565b905092915050565b60006020820190508181036000830152612b1d8161288c565b9050919050565b60006020820190508181036000830152612b3d816128af565b9050919050565b60006020820190508181036000830152612b5d816128d2565b9050919050565b60006020820190508181036000830152612b7d816128f5565b9050919050565b60006020820190508181036000830152612b9d81612918565b9050919050565b60006020820190508181036000830152612bbd8161293b565b9050919050565b60006020820190508181036000830152612bdd81612981565b9050919050565b60006020820190508181036000830152612bfd816129a4565b9050919050565b60006020820190508181036000830152612c1d816129ea565b9050919050565b6000602082019050612c396000830184612a0d565b92915050565b6000612c49612c5a565b9050612c558282612f11565b919050565b6000604051905090565b600067ffffffffffffffff821115612c7f57612c7e613078565b5b612c88826130bb565b9050602081019050919050565b600067ffffffffffffffff821115612cb057612caf613078565b5b612cb9826130bb565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000612d1f82612e93565b9150612d2a83612e93565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612d5f57612d5e612fbc565b5b828201905092915050565b6000612d7582612e93565b9150612d8083612e93565b925082612d9057612d8f612feb565b5b828204905092915050565b6000612da682612e93565b9150612db183612e93565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612dea57612de9612fbc565b5b828202905092915050565b6000612e0082612e93565b9150612e0b83612e93565b925082821015612e1e57612e1d612fbc565b5b828203905092915050565b6000612e3482612e73565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015612eca578082015181840152602081019050612eaf565b83811115612ed9576000848401525b50505050565b60006002820490506001821680612ef757607f821691505b60208210811415612f0b57612f0a61301a565b5b50919050565b612f1a826130bb565b810181811067ffffffffffffffff82111715612f3957612f38613078565b5b80604052505050565b6000612f4d82612e93565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612f8057612f7f612fbc565b5b600182019050919050565b6000612f9682612e93565b9150612fa183612e93565b925082612fb157612fb0612feb565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4d657461646174612069732066696e616c697a65640000000000000000000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45786365656473204e465420706572207472616e73616374696f6e206c696d6960008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b7f53616c657320617265206f666600000000000000000000000000000000000000600082015250565b7f45786365656473206d617820737570706c790000000000000000000000000000600082015250565b7f45746865722076616c75652073656e74206973206e6f7420737566666963696560008201527f6e74000000000000000000000000000000000000000000000000000000000000602082015250565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b50565b7f45786365656473206d6178207065722077616c6c657400000000000000000000600082015250565b61330a81612e29565b811461331557600080fd5b50565b61332181612e3b565b811461332c57600080fd5b50565b61333881612e47565b811461334357600080fd5b50565b61334f81612e93565b811461335a57600080fd5b5056fea264697066735822122093330f90dfeaef632dc18f37f6569031bf780a44623b3d1568384abecac964dd64736f6c63430008070033697066733a2f2f6261667962656967663735666b753461786c6a3437726934676c76663762353364746b7762757232676d6379626a71706b6b69717376746f357a6d2f