0x61012060405234801561001157600080fd5b50604051613c60380380613c60833981810160405281019061003391906103b6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036100a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016100999061048e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603610111576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610108906104fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610180576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161017790610566565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250508273ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff16815250508160e081815250508073ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff16815250505050505050610586565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061029382610268565b9050919050565b60006102a582610288565b9050919050565b6102b58161029a565b81146102c057600080fd5b50565b6000815190506102d2816102ac565b92915050565b60006102e382610288565b9050919050565b6102f3816102d8565b81146102fe57600080fd5b50565b600081519050610310816102ea565b92915050565b600061032182610288565b9050919050565b61033181610316565b811461033c57600080fd5b50565b60008151905061034e81610328565b92915050565b6000819050919050565b61036781610354565b811461037257600080fd5b50565b6000815190506103848161035e565b92915050565b61039381610288565b811461039e57600080fd5b50565b6000815190506103b08161038a565b92915050565b600080600080600060a086880312156103d2576103d1610263565b5b60006103e0888289016102c3565b95505060206103f188828901610301565b94505060406104028882890161033f565b935050606061041388828901610375565b9250506080610424888289016103a1565b9150509295509295909350565b600082825260208201905092915050565b7f4e616d6520577261707065722061646472657373206d75737420626520736574600082015250565b6000610478602083610431565b915061048382610442565b602082019050919050565b600060208201905081810360008301526104a78161046b565b9050919050565b7f56657269666965722061646472657373206d7573742062652073657400000000600082015250565b60006104e4601c83610431565b91506104ef826104ae565b602082019050919050565b60006020820190508181036000830152610513816104d7565b9050919050565b7f52656769737472792061646472657373206d7573742062652073657400000000600082015250565b6000610550601c83610431565b915061055b8261051a565b602082019050919050565b6000602082019050818103600083015261057f81610543565b9050919050565b60805160a05160c05160e0516101005161366c6105f460003960008181610dbe0152611006015260008181610cd501526112f8015260008181610b85015281816111ce0152611221015260008181610653015261113201526000818161062f01526110d7015261366c6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639061b9231161008c578063d6ae3cd511610066578063d6ae3cd514610274578063f00eebf414610292578063f470901a146102c2578063f8256121146102f2576100ea565b80639061b9231461020a578063a8e5fbc01461023a578063d358df7714610258576100ea565b80632b7ac3f3116100c85780632b7ac3f3146101805780633f15457f1461019e5780635bdaa916146101bc5780636d74e86e146101ec576100ea565b806301ffc9a7146100ef57806315f643861461011f5780631a33ddae14610150575b600080fd5b61010960048036038101906101049190611b08565b610310565b6040516101169190611b50565b60405180910390f35b61013960048036038101906101349190611cb1565b61045a565b604051610147929190611d54565b60405180910390f35b61016a60048036038101906101659190611ddd565b610471565b6040516101779190611e43565b60405180910390f35b61018861062d565b6040516101959190611ebd565b60405180910390f35b6101a6610651565b6040516101b39190611ef9565b60405180910390f35b6101d660048036038101906101d19190611f14565b610675565b6040516101e39190612014565b60405180910390f35b6101f461082f565b6040516102019190611e43565b60405180910390f35b610224600480360381019061021f9190611f14565b61083a565b6040516102319190612014565b60405180910390f35b610242610b83565b60405161024f9190612057565b60405180910390f35b610272600480360381019061026d919061209e565b610ba7565b005b61027c610cd3565b6040516102899190611e43565b60405180910390f35b6102ac60048036038101906102a7919061209e565b610cf7565b6040516102b99190612014565b60405180910390f35b6102dc60048036038101906102d791906121df565b610d5e565b6040516102e99190612014565b60405180910390f35b6102fa610dbc565b6040516103079190612257565b60405180910390f35b60007f9061b923000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806103db57507f15f64386000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061044357507ff00eebf4000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610453575061045282610de0565b5b9050919050565b600080610468836000610e4a565b91509150915091565b60008073c5e62f762a0844af52a7e126e111f2aa0087f3b16394bc2db685856040518363ffffffff1660e01b81526004016104ad9291906122b0565b600060405180830381865af41580156104ca573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906104f39190612344565b905073c5e62f762a0844af52a7e126e111f2aa0087f3b163e5c4cf73826040518263ffffffff1660e01b815260040161052c91906123c6565b602060405180830381865af4158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190612414565b6105ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a39061249e565b60405180910390fd5b73c5e62f762a0844af52a7e126e111f2aa0087f3b16308dea91d826040518263ffffffff1660e01b81526004016105e391906123c6565b602060405180830381865af4158015610600573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062491906124ea565b91505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6060600085858101906106889190611cb1565b905060008060008060008089898101906106a29190612682565b95509550955095509550955060008673ffffffffffffffffffffffffffffffffffffffff1663c51ca02a8787878c6106d861082f565b6040518663ffffffff1660e01b81526004016106f895949392919061292d565b600060405180830381865afa158015610715573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061073e9190612a4a565b9050845181511461078a57805185516040517f29189425000000000000000000000000000000000000000000000000000000008152600401610781929190612a93565b60405180910390fd5b60006108258483856040516024016107a3929190612abc565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050503073ffffffffffffffffffffffffffffffffffffffff16610fb390919063ffffffff16565b9050805160208201f35b600062015180905090565b60606004838390501015610883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087a90612b3f565b60405180910390fd5b60008383600490809261089893929190612b69565b8101906108a59190612ba4565b905060008073ffffffffffffffffffffffffffffffffffffffff1660008084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415905080156109ae576109a587878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050610fff565b92505050610b7b565b600373c5e62f762a0844af52a7e126e111f2aa0087f3b1634062ace389896040518363ffffffff1660e01b81526004016109e99291906122b0565b602060405180830381865af4158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906124ea565b1115610a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6290612c1d565b60405180910390fd5b6000610abc88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b9150506000868690610ace9190612c55565b9050633b3b57de60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610b40576000610b288a8a610471565b9050610b3481846110ac565b95505050505050610b7b565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7290612d00565b60405180910390fd5b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610bf684848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061045a565b509050610c028161112d565b610c41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3890612d92565b60405180910390fd5b8160008083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f88781081cc340609705af0f96bf3ba64ea267873444e91725bd072f2af0f44d8848484604051610cc593929190612ddf565b60405180910390a150505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60606000610d4a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506000610e4a565b915050610d56816112f6565b509392505050565b6060600083600081518110610d7657610d75612e11565b5b6020026020010151806020019051810190610d919190612e55565b905080604051602001610da49190612257565b60405160208183030381529060405291505092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000806000610e62848661135590919063ffffffff16565b60ff1690506000801b92506000811115610f9a576000610e99600186610e889190612eb1565b83886113809092919063ffffffff16565b9050610ebc8660018488610ead9190612eb1565b610eb79190612eb1565b610e4a565b80945081955050508381604051602001610ed7929190612f06565b604051602081830303815290604052805190602001209350600073ffffffffffffffffffffffffffffffffffffffff1660008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f94578360008086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16935093505050610fac565b50610faa565b6000801b60009250925050610fac565b505b9250929050565b6060610ff7838360006040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c656400008152506113ac565b905092915050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16846040516110499190612f6e565b600060405180830381855afa9150503d8060008114611084576040519150601f19603f3d011682016040523d82523d6000602084013e611089565b606091505b5091509150811561109e5780925050506110a6565b805160208201fd5b92915050565b606061112763f470901a60e01b604051806020016040528060008152506111188661110a60026110fc7f00000000000000000000000000000000000000000000000000000000000000008a611479565b61158890919063ffffffff16565b61166990919063ffffffff16565b6116ea9092919063ffffffff16565b92915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166302571be3846040518263ffffffff1660e01b81526004016111899190612f85565b602060405180830381865afa1580156111a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ca9190612fb5565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112bf577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636352211e8460001c6040518263ffffffff1660e01b815260040161127b9190611e43565b602060405180830381865afa158015611298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112bc9190612fb5565b90505b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614915050919050565b7f0000000000000000000000000000000000000000000000000000000000000000816040517fe0a0507100000000000000000000000000000000000000000000000000000000815260040161134c929190612fe2565b60405180910390fd5b600082828151811061136a57611369612e11565b5b602001015160f81c60f81b60f81c905092915050565b6000835182846113909190612eb1565b111561139b57600080fd5b818360208601012090509392505050565b6060824710156113f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e89061307d565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161141a9190612f6e565b60006040518083038185875af1925050503d8060008114611457576040519150601f19603f3d011682016040523d82523d6000602084013e61145c565b606091505b509150915061146d87838387611875565b92505050949350505050565b611481611a41565b6000602067ffffffffffffffff81111561149e5761149d611b86565b5b6040519080825280602002602001820160405280156114cc5781602001602082028036833780820191505090505b5090506000602067ffffffffffffffff8111156114ec576114eb611b86565b5b60405190808252806020026020018201604052801561151f57816020015b606081526020019060019003908161150a5790505b50905060008252600081526040518060a001604052808673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff16815260200183815260200160008152602001828152509250505092915050565b611590611a41565b6000836040015190506000815190506000811180156115b3575060208560600151105b156115c4576115c38560ff6118ea565b5b600181018252602085604001515111156116165760206040517f128e700800000000000000000000000000000000000000000000000000000000815260040161160d9190611e43565b60405180910390fd5b600085606001818152505061162c8560006118ea565b61165e8561165987876040516020016116459190611e43565b604051602081830303815290604052611991565b6118ea565b849250505092915050565b611671611a41565b60208360600151106116af576040517fb00fd63800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116e1836116dc85856040516020016116c89190611e43565b604051602081830303815290604052611991565b6118ea565b82905092915050565b6000836040015151118015611703575060208360600151105b15611714576117138360ff6118ea565b5b30836000015173ffffffffffffffffffffffffffffffffffffffff1663b50f2fbc6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611764573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061178d919061321f565b8460200151856040015186608001516040516024016117ae93929190613268565b60405160208183030381529060405263ea9cd3bf60e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050635bdaa91660e01b86600001518760200151886040015189608001518989604051602001611826969594939291906132bc565b6040516020818303038152906040526040517f556f183000000000000000000000000000000000000000000000000000000000815260040161186c959493929190613449565b60405180910390fd5b606083156118d75760008351036118cf5761188f856119ce565b6118ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c5906134fd565b60405180910390fd5b5b8290506118e2565b6118e183836119f1565b5b949350505050565b600060018360400151516118fe919061351d565b905082606001805180919061191290613551565b81525060086119219190613599565b8260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916901c836040015182815181106119605761195f612e11565b5b602002602001015117836040015182815181106119805761197f612e11565b5b602002602001018181525050505050565b600080836080015190508051915060018201815282818360ff16815181106119bc576119bb612e11565b5b60200260200101819052505092915050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600082511115611a045781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a389190613614565b60405180910390fd5b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160008152602001606081525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ae581611ab0565b8114611af057600080fd5b50565b600081359050611b0281611adc565b92915050565b600060208284031215611b1e57611b1d611aa6565b5b6000611b2c84828501611af3565b91505092915050565b60008115159050919050565b611b4a81611b35565b82525050565b6000602082019050611b656000830184611b41565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611bbe82611b75565b810181811067ffffffffffffffff82111715611bdd57611bdc611b86565b5b80604052505050565b6000611bf0611a9c565b9050611bfc8282611bb5565b919050565b600067ffffffffffffffff821115611c1c57611c1b611b86565b5b611c2582611b75565b9050602081019050919050565b82818337600083830152505050565b6000611c54611c4f84611c01565b611be6565b905082815260208101848484011115611c7057611c6f611b70565b5b611c7b848285611c32565b509392505050565b600082601f830112611c9857611c97611b6b565b5b8135611ca8848260208601611c41565b91505092915050565b600060208284031215611cc757611cc6611aa6565b5b600082013567ffffffffffffffff811115611ce557611ce4611aab565b5b611cf184828501611c83565b91505092915050565b6000819050919050565b611d0d81611cfa565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611d3e82611d13565b9050919050565b611d4e81611d33565b82525050565b6000604082019050611d696000830185611d04565b611d766020830184611d45565b9392505050565b600080fd5b600080fd5b60008083601f840112611d9d57611d9c611b6b565b5b8235905067ffffffffffffffff811115611dba57611db9611d7d565b5b602083019150836001820283011115611dd657611dd5611d82565b5b9250929050565b60008060208385031215611df457611df3611aa6565b5b600083013567ffffffffffffffff811115611e1257611e11611aab565b5b611e1e85828601611d87565b92509250509250929050565b6000819050919050565b611e3d81611e2a565b82525050565b6000602082019050611e586000830184611e34565b92915050565b6000819050919050565b6000611e83611e7e611e7984611d13565b611e5e565b611d13565b9050919050565b6000611e9582611e68565b9050919050565b6000611ea782611e8a565b9050919050565b611eb781611e9c565b82525050565b6000602082019050611ed26000830184611eae565b92915050565b6000611ee382611e8a565b9050919050565b611ef381611ed8565b82525050565b6000602082019050611f0e6000830184611eea565b92915050565b60008060008060408587031215611f2e57611f2d611aa6565b5b600085013567ffffffffffffffff811115611f4c57611f4b611aab565b5b611f5887828801611d87565b9450945050602085013567ffffffffffffffff811115611f7b57611f7a611aab565b5b611f8787828801611d87565b925092505092959194509250565b600081519050919050565b600082825260208201905092915050565b60005b83811015611fcf578082015181840152602081019050611fb4565b60008484015250505050565b6000611fe682611f95565b611ff08185611fa0565b9350612000818560208601611fb1565b61200981611b75565b840191505092915050565b6000602082019050818103600083015261202e8184611fdb565b905092915050565b600061204182611e8a565b9050919050565b61205181612036565b82525050565b600060208201905061206c6000830184612048565b92915050565b61207b81611d33565b811461208657600080fd5b50565b60008135905061209881612072565b92915050565b6000806000604084860312156120b7576120b6611aa6565b5b600084013567ffffffffffffffff8111156120d5576120d4611aab565b5b6120e186828701611d87565b935093505060206120f486828701612089565b9150509250925092565b600067ffffffffffffffff82111561211957612118611b86565b5b602082029050602081019050919050565b600061213d612138846120fe565b611be6565b905080838252602082019050602084028301858111156121605761215f611d82565b5b835b818110156121a757803567ffffffffffffffff81111561218557612184611b6b565b5b8086016121928982611c83565b85526020850194505050602081019050612162565b5050509392505050565b600082601f8301126121c6576121c5611b6b565b5b81356121d684826020860161212a565b91505092915050565b600080604083850312156121f6576121f5611aa6565b5b600083013567ffffffffffffffff81111561221457612213611aab565b5b612220858286016121b1565b925050602083013567ffffffffffffffff81111561224157612240611aab565b5b61224d85828601611c83565b9150509250929050565b600060208201905061226c6000830184611d45565b92915050565b600082825260208201905092915050565b600061228f8385612272565b935061229c838584611c32565b6122a583611b75565b840190509392505050565b600060208201905081810360008301526122cb818486612283565b90509392505050565b60006122e76122e284611c01565b611be6565b90508281526020810184848401111561230357612302611b70565b5b61230e848285611fb1565b509392505050565b600082601f83011261232b5761232a611b6b565b5b815161233b8482602086016122d4565b91505092915050565b60006020828403121561235a57612359611aa6565b5b600082015167ffffffffffffffff81111561237857612377611aab565b5b61238484828501612316565b91505092915050565b600061239882611f95565b6123a28185612272565b93506123b2818560208601611fb1565b6123bb81611b75565b840191505092915050565b600060208201905081810360008301526123e0818461238d565b905092915050565b6123f181611b35565b81146123fc57600080fd5b50565b60008151905061240e816123e8565b92915050565b60006020828403121561242a57612429611aa6565b5b6000612438848285016123ff565b91505092915050565b600082825260208201905092915050565b7f4c6162656c206973206e6f742061206e756d6265720000000000000000000000600082015250565b6000612488601583612441565b915061249382612452565b602082019050919050565b600060208201905081810360008301526124b78161247b565b9050919050565b6124c781611e2a565b81146124d257600080fd5b50565b6000815190506124e4816124be565b92915050565b600060208284031215612500576124ff611aa6565b5b600061250e848285016124d5565b91505092915050565b600061252282611d33565b9050919050565b61253281612517565b811461253d57600080fd5b50565b60008135905061254f81612529565b92915050565b600061256082611d13565b9050919050565b61257081612555565b811461257b57600080fd5b50565b60008135905061258d81612567565b92915050565b600067ffffffffffffffff8211156125ae576125ad611b86565b5b602082029050602081019050919050565b6125c881611cfa565b81146125d357600080fd5b50565b6000813590506125e5816125bf565b92915050565b60006125fe6125f984612593565b611be6565b9050808382526020820190506020840283018581111561262157612620611d82565b5b835b8181101561264a578061263688826125d6565b845260208401935050602081019050612623565b5050509392505050565b600082601f83011261266957612668611b6b565b5b81356126798482602086016125eb565b91505092915050565b60008060008060008060c0878903121561269f5761269e611aa6565b5b60006126ad89828a01612540565b96505060206126be89828a0161257e565b955050604087013567ffffffffffffffff8111156126df576126de611aab565b5b6126eb89828a01612654565b945050606087013567ffffffffffffffff81111561270c5761270b611aab565b5b61271889828a016121b1565b935050608061272989828a01611af3565b92505060a087013567ffffffffffffffff81111561274a57612749611aab565b5b61275689828a01611c83565b9150509295509295509295565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61279881611cfa565b82525050565b60006127aa838361278f565b60208301905092915050565b6000602082019050919050565b60006127ce82612763565b6127d8818561276e565b93506127e38361277f565b8060005b838110156128145781516127fb888261279e565b9750612806836127b6565b9250506001810190506127e7565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061286982611f95565b612873818561284d565b9350612883818560208601611fb1565b61288c81611b75565b840191505092915050565b60006128a3838361285e565b905092915050565b6000602082019050919050565b60006128c382612821565b6128cd818561282c565b9350836020820285016128df8561283d565b8060005b8581101561291b57848403895281516128fc8582612897565b9450612907836128ab565b925060208a019950506001810190506128e3565b50829750879550505050505092915050565b600060a0820190506129426000830188611d45565b818103602083015261295481876127c3565b9050818103604083015261296881866128b8565b9050818103606083015261297c8185611fdb565b905061298b6080830184611e34565b9695505050505050565b60006129a86129a3846120fe565b611be6565b905080838252602082019050602084028301858111156129cb576129ca611d82565b5b835b81811015612a1257805167ffffffffffffffff8111156129f0576129ef611b6b565b5b8086016129fd8982612316565b855260208501945050506020810190506129cd565b5050509392505050565b600082601f830112612a3157612a30611b6b565b5b8151612a41848260208601612995565b91505092915050565b600060208284031215612a6057612a5f611aa6565b5b600082015167ffffffffffffffff811115612a7e57612a7d611aab565b5b612a8a84828501612a1c565b91505092915050565b6000604082019050612aa86000830185611e34565b612ab56020830184611e34565b9392505050565b60006040820190508181036000830152612ad681856128b8565b90508181036020830152612aea8184611fdb565b90509392505050565b7f706172616d206461746120746f6f2073686f7274000000000000000000000000600082015250565b6000612b29601483612441565b9150612b3482612af3565b602082019050919050565b60006020820190508181036000830152612b5881612b1c565b9050919050565b600080fd5b600080fd5b60008085851115612b7d57612b7c612b5f565b5b83861115612b8e57612b8d612b64565b5b6001850283019150848603905094509492505050565b600060208284031215612bba57612bb9611aa6565b5b6000612bc8848285016125d6565b91505092915050565b7f546f6f206d616e7920737562646f6d61696e206c6576656c7300000000000000600082015250565b6000612c07601983612441565b9150612c1282612bd1565b602082019050919050565b60006020820190508181036000830152612c3681612bfa565b9050919050565b600082905092915050565b600082821b905092915050565b6000612c618383612c3d565b82612c6c8135611ab0565b92506004821015612cac57612ca77fffffffff0000000000000000000000000000000000000000000000000000000083600403600802612c48565b831692505b505092915050565b7f696e76616c69642073656c6563746f7200000000000000000000000000000000600082015250565b6000612cea601083612441565b9150612cf582612cb4565b602082019050919050565b60006020820190508181036000830152612d1981612cdd565b9050919050565b7f4e6f7420617574686f72697a656420746f207365742074617267657420666f7260008201527f2074686973206e6f646500000000000000000000000000000000000000000000602082015250565b6000612d7c602a83612441565b9150612d8782612d20565b604082019050919050565b60006020820190508181036000830152612dab81612d6f565b9050919050565b6000612dbe8385611fa0565b9350612dcb838584611c32565b612dd483611b75565b840190509392505050565b60006040820190508181036000830152612dfa818587612db2565b9050612e096020830184611d45565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612e4f81612567565b92915050565b600060208284031215612e6b57612e6a611aa6565b5b6000612e7984828501612e40565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612ebc82611e2a565b9150612ec783611e2a565b9250828201905080821115612edf57612ede612e82565b5b92915050565b6000819050919050565b612f00612efb82611cfa565b612ee5565b82525050565b6000612f128285612eef565b602082019150612f228284612eef565b6020820191508190509392505050565b600081905092915050565b6000612f4882611f95565b612f528185612f32565b9350612f62818560208601611fb1565b80840191505092915050565b6000612f7a8284612f3d565b915081905092915050565b6000602082019050612f9a6000830184611d04565b92915050565b600081519050612faf81612072565b92915050565b600060208284031215612fcb57612fca611aa6565b5b6000612fd984828501612fa0565b91505092915050565b6000604082019050612ff76000830185611e34565b6130046020830184611d45565b9392505050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b6000613067602683612441565b91506130728261300b565b604082019050919050565b600060208201905081810360008301526130968161305a565b9050919050565b600067ffffffffffffffff8211156130b8576130b7611b86565b5b602082029050602081019050919050565b600067ffffffffffffffff8211156130e4576130e3611b86565b5b6130ed82611b75565b9050602081019050919050565b600061310d613108846130c9565b611be6565b90508281526020810184848401111561312957613128611b70565b5b613134848285611fb1565b509392505050565b600082601f83011261315157613150611b6b565b5b81516131618482602086016130fa565b91505092915050565b600061317d6131788461309d565b611be6565b905080838252602082019050602084028301858111156131a05761319f611d82565b5b835b818110156131e757805167ffffffffffffffff8111156131c5576131c4611b6b565b5b8086016131d2898261313c565b855260208501945050506020810190506131a2565b5050509392505050565b600082601f83011261320657613205611b6b565b5b815161321684826020860161316a565b91505092915050565b60006020828403121561323557613234611aa6565b5b600082015167ffffffffffffffff81111561325357613252611aab565b5b61325f848285016131f1565b91505092915050565b600060608201905061327d6000830186611d45565b818103602083015261328f81856127c3565b905081810360408301526132a381846128b8565b9050949350505050565b6132b681611ab0565b82525050565b600060c0820190506132d16000830189611eae565b6132de6020830188611d45565b81810360408301526132f081876127c3565b9050818103606083015261330481866128b8565b905061331360808301856132ad565b81810360a08301526133258184611fdb565b9050979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600081519050919050565b600082825260208201905092915050565b60006133858261335e565b61338f8185613369565b935061339f818560208601611fb1565b6133a881611b75565b840191505092915050565b60006133bf838361337a565b905092915050565b6000602082019050919050565b60006133df82613332565b6133e9818561333d565b9350836020820285016133fb8561334e565b8060005b85811015613437578484038952815161341885826133b3565b9450613423836133c7565b925060208a019950506001810190506133ff565b50829750879550505050505092915050565b600060a08201905061345e6000830188611d45565b818103602083015261347081876133d4565b905081810360408301526134848186611fdb565b905061349360608301856132ad565b81810360808301526134a58184611fdb565b90509695505050505050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b60006134e7601d83612441565b91506134f2826134b1565b602082019050919050565b60006020820190508181036000830152613516816134da565b9050919050565b600061352882611e2a565b915061353383611e2a565b925082820390508181111561354b5761354a612e82565b5b92915050565b600061355c82611e2a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361358e5761358d612e82565b5b600182019050919050565b60006135a482611e2a565b91506135af83611e2a565b92508282026135bd81611e2a565b915082820484148315176135d4576135d3612e82565b5b5092915050565b60006135e68261335e565b6135f08185612441565b9350613600818560208601611fb1565b61360981611b75565b840191505092915050565b6000602082019050818103600083015261362e81846135db565b90509291505056fea26469706673582212201fabe36f633ba808345e0d4faee60f3142a69f6008a904bb52146c86f8c86e9b64736f6c634300081900330000000000000000000000002ad1a39a3b616fb11ac5db290061a0a5c09771f300000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e000000000000000000000000d4416b13d2b3a9abae7acd5d6c2bbdbe256864010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000231b0ee14048e9dccd1d247744d114a4eb5e8e63