0x60806040523480156200001157600080fd5b506040518060400160405280600581526020017f4b69736b610000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4b534b5300000000000000000000000000000000000000000000000000000000815250816000908051906020019062000096929190620001a6565b508060019080519060200190620000af929190620001a6565b505050620000d2620000c6620000d860201b60201c565b620000e060201b60201c565b620002bb565b600033905090565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001b49062000285565b90600052602060002090601f016020900481019282620001d8576000855562000224565b82601f10620001f357805160ff191683800117855562000224565b8280016001018555821562000224579182015b828111156200022357825182559160200191906001019062000206565b5b50905062000233919062000237565b5090565b5b808211156200025257600081600090555060010162000238565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200029e57607f821691505b60208210811415620002b557620002b462000256565b5b50919050565b61389c80620002cb6000396000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80636352211e116100b8578063a22cb4651161007c578063a22cb4651461034e578063b88d4fde1461036a578063c87b56dd14610386578063cd279c7c146103b6578063e985e9c5146103d2578063f2fde38b1461040257610137565b80636352211e146102a857806370a08231146102d8578063715018a6146103085780638da5cb5b1461031257806395d89b411461033057610137565b806323b872dd116100ff57806323b872dd146101f45780632f745c591461021057806342842e0e1461024057806342966c681461025c5780634f6ccce71461027857610137565b806301ffc9a71461013c57806306fdde031461016c578063081812fc1461018a578063095ea7b3146101ba57806318160ddd146101d6575b600080fd5b61015660048036038101906101519190612677565b61041e565b60405161016391906126bf565b60405180910390f35b610174610430565b6040516101819190612773565b60405180910390f35b6101a4600480360381019061019f91906127cb565b6104c2565b6040516101b19190612839565b60405180910390f35b6101d460048036038101906101cf9190612880565b610508565b005b6101de610620565b6040516101eb91906128cf565b60405180910390f35b61020e600480360381019061020991906128ea565b61062d565b005b61022a60048036038101906102259190612880565b61068d565b60405161023791906128cf565b60405180910390f35b61025a600480360381019061025591906128ea565b610732565b005b610276600480360381019061027191906127cb565b610752565b005b610292600480360381019061028d91906127cb565b6107ae565b60405161029f91906128cf565b60405180910390f35b6102c260048036038101906102bd91906127cb565b61081f565b6040516102cf9190612839565b60405180910390f35b6102f260048036038101906102ed919061293d565b6108a6565b6040516102ff91906128cf565b60405180910390f35b61031061095e565b005b61031a610972565b6040516103279190612839565b60405180910390f35b61033861099c565b6040516103459190612773565b60405180910390f35b61036860048036038101906103639190612996565b610a2e565b005b610384600480360381019061037f9190612b0b565b610a44565b005b6103a0600480360381019061039b91906127cb565b610aa6565b6040516103ad9190612773565b60405180910390f35b6103d060048036038101906103cb9190612c2f565b610ab8565b005b6103ec60048036038101906103e79190612c9e565b610ad9565b6040516103f991906126bf565b60405180910390f35b61041c6004803603810190610417919061293d565b610b6d565b005b600061042982610bf1565b9050919050565b60606000805461043f90612d0d565b80601f016020809104026020016040519081016040528092919081815260200182805461046b90612d0d565b80156104b85780601f1061048d576101008083540402835291602001916104b8565b820191906000526020600020905b81548152906001019060200180831161049b57829003601f168201915b5050505050905090565b60006104cd82610c52565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006105138261081f565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057b90612db1565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166105a3610c9d565b73ffffffffffffffffffffffffffffffffffffffff1614806105d257506105d1816105cc610c9d565b610ad9565b5b610611576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060890612e43565b60405180910390fd5b61061b8383610ca5565b505050565b6000600880549050905090565b61063e610638610c9d565b82610d5e565b61067d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161067490612ed5565b60405180910390fd5b610688838383610df3565b505050565b6000610698836108a6565b82106106d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106d090612f67565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b61074d83838360405180602001604052806000815250610a44565b505050565b61076361075d610c9d565b82610d5e565b6107a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079990612ed5565b60405180910390fd5b6107ab816110ed565b50565b60006107b8610620565b82106107f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107f090612ff9565b60405180910390fd5b6008828154811061080d5761080c613019565b5b90600052602060002001549050919050565b60008061082b836110f9565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561089d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089490613094565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610917576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090e90613126565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610966611136565b61097060006111b4565b565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546109ab90612d0d565b80601f01602080910402602001604051908101604052809291908181526020018280546109d790612d0d565b8015610a245780601f106109f957610100808354040283529160200191610a24565b820191906000526020600020905b815481529060010190602001808311610a0757829003601f168201915b5050505050905090565b610a40610a39610c9d565b838361127a565b5050565b610a55610a4f610c9d565b83610d5e565b610a94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8b90612ed5565b60405180910390fd5b610aa0848484846113e7565b50505050565b6060610ab182611443565b9050919050565b610ac0611136565b610aca8383611556565b610ad48282611574565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610b75611136565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610be5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bdc906131b8565b60405180910390fd5b610bee816111b4565b50565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610c4b5750610c4a8261161f565b5b9050919050565b610c5b81611699565b610c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9190613094565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610d188361081f565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610d6a8361081f565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610dac5750610dab8185610ad9565b5b80610dea57508373ffffffffffffffffffffffffffffffffffffffff16610dd2846104c2565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610e138261081f565b73ffffffffffffffffffffffffffffffffffffffff1614610e69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e609061324a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610ed9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed0906132dc565b60405180910390fd5b610ee683838360016116da565b8273ffffffffffffffffffffffffffffffffffffffff16610f068261081f565b73ffffffffffffffffffffffffffffffffffffffff1614610f5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f539061324a565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46110e883838360016116ec565b505050565b6110f6816116f2565b50565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61113e610c9d565b73ffffffffffffffffffffffffffffffffffffffff1661115c610972565b73ffffffffffffffffffffffffffffffffffffffff16146111b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a990613348565b60405180910390fd5b565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156112e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e0906133b4565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516113da91906126bf565b60405180910390a3505050565b6113f2848484610df3565b6113fe84848484611745565b61143d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143490613446565b60405180910390fd5b50505050565b606061144e82610c52565b6000600a6000848152602001908152602001600020805461146e90612d0d565b80601f016020809104026020016040519081016040528092919081815260200182805461149a90612d0d565b80156114e75780601f106114bc576101008083540402835291602001916114e7565b820191906000526020600020905b8154815290600101906020018083116114ca57829003601f168201915b5050505050905060006114f86118dc565b905060008151141561150e578192505050611551565b60008251111561154357808260405160200161152b9291906134a2565b60405160208183030381529060405292505050611551565b61154c846118f3565b925050505b919050565b61157082826040518060200160405280600081525061195b565b5050565b61157d82611699565b6115bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b390613538565b60405180910390fd5b80600a600084815260200190815260200160002090805190602001906115e3929190612528565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce78260405161161391906128cf565b60405180910390a15050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806116925750611691826119b6565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166116bb836110f9565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6116e684848484611a98565b50505050565b50505050565b6116fb81611bf8565b6000600a6000838152602001908152602001600020805461171b90612d0d565b90501461174257600a6000828152602001908152602001600020600061174191906125ae565b5b50565b60006117668473ffffffffffffffffffffffffffffffffffffffff16611d46565b156118cf578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261178f610c9d565b8786866040518563ffffffff1660e01b81526004016117b194939291906135ad565b602060405180830381600087803b1580156117cb57600080fd5b505af19250505080156117fc57506040513d601f19601f820116820180604052508101906117f9919061360e565b60015b61187f573d806000811461182c576040519150601f19603f3d011682016040523d82523d6000602084013e611831565b606091505b50600081511415611877576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186e90613446565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506118d4565b600190505b949350505050565b606060405180602001604052806000815250905090565b60606118fe82610c52565b60006119086118dc565b905060008151116119285760405180602001604052806000815250611953565b8061193284611d69565b6040516020016119439291906134a2565b6040516020818303038152906040525b915050919050565b6119658383611e41565b6119726000848484611745565b6119b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119a890613446565b60405180910390fd5b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611a8157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611a915750611a908261205f565b5b9050919050565b611aa4848484846120c9565b6001811115611ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adf906136ad565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415611b3057611b2b816120cf565b611b6f565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611b6e57611b6d8582612118565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611bb257611bad81612285565b611bf1565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614611bf057611bef8482612356565b5b5b5050505050565b6000611c038261081f565b9050611c138160008460016116da565b611c1c8261081f565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d428160008460016116ec565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b606060006001611d78846123d5565b01905060008167ffffffffffffffff811115611d9757611d966129e0565b5b6040519080825280601f01601f191660200182016040528015611dc95781602001600182028036833780820191505090505b509050600082602001820190505b600115611e36578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611e2057611e1f6136cd565b5b0494506000851415611e3157611e36565b611dd7565b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ea890613748565b60405180910390fd5b611eba81611699565b15611efa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ef1906137b4565b60405180910390fd5b611f086000838360016116da565b611f1181611699565b15611f51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f48906137b4565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461205b6000838360016116ec565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612125846108a6565b61212f9190613803565b9050600060076000848152602001908152602001600020549050818114612214576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506122999190613803565b90506000600960008481526020019081526020016000205490506000600883815481106122c9576122c8613019565b5b9060005260206000200154905080600883815481106122eb576122ea613019565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061233a57612339613837565b5b6001900381819060005260206000200160009055905550505050565b6000612361836108a6565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612433577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612429576124286136cd565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612470576d04ee2d6d415b85acef81000000008381612466576124656136cd565b5b0492506020810190505b662386f26fc10000831061249f57662386f26fc100008381612495576124946136cd565b5b0492506010810190505b6305f5e10083106124c8576305f5e10083816124be576124bd6136cd565b5b0492506008810190505b61271083106124ed5761271083816124e3576124e26136cd565b5b0492506004810190505b606483106125105760648381612506576125056136cd565b5b0492506002810190505b600a831061251f576001810190505b80915050919050565b82805461253490612d0d565b90600052602060002090601f016020900481019282612556576000855561259d565b82601f1061256f57805160ff191683800117855561259d565b8280016001018555821561259d579182015b8281111561259c578251825591602001919060010190612581565b5b5090506125aa91906125ee565b5090565b5080546125ba90612d0d565b6000825580601f106125cc57506125eb565b601f0160209004906000526020600020908101906125ea91906125ee565b5b50565b5b808211156126075760008160009055506001016125ef565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6126548161261f565b811461265f57600080fd5b50565b6000813590506126718161264b565b92915050565b60006020828403121561268d5761268c612615565b5b600061269b84828501612662565b91505092915050565b60008115159050919050565b6126b9816126a4565b82525050565b60006020820190506126d460008301846126b0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156127145780820151818401526020810190506126f9565b83811115612723576000848401525b50505050565b6000601f19601f8301169050919050565b6000612745826126da565b61274f81856126e5565b935061275f8185602086016126f6565b61276881612729565b840191505092915050565b6000602082019050818103600083015261278d818461273a565b905092915050565b6000819050919050565b6127a881612795565b81146127b357600080fd5b50565b6000813590506127c58161279f565b92915050565b6000602082840312156127e1576127e0612615565b5b60006127ef848285016127b6565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612823826127f8565b9050919050565b61283381612818565b82525050565b600060208201905061284e600083018461282a565b92915050565b61285d81612818565b811461286857600080fd5b50565b60008135905061287a81612854565b92915050565b6000806040838503121561289757612896612615565b5b60006128a58582860161286b565b92505060206128b6858286016127b6565b9150509250929050565b6128c981612795565b82525050565b60006020820190506128e460008301846128c0565b92915050565b60008060006060848603121561290357612902612615565b5b60006129118682870161286b565b93505060206129228682870161286b565b9250506040612933868287016127b6565b9150509250925092565b60006020828403121561295357612952612615565b5b60006129618482850161286b565b91505092915050565b612973816126a4565b811461297e57600080fd5b50565b6000813590506129908161296a565b92915050565b600080604083850312156129ad576129ac612615565b5b60006129bb8582860161286b565b92505060206129cc85828601612981565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a1882612729565b810181811067ffffffffffffffff82111715612a3757612a366129e0565b5b80604052505050565b6000612a4a61260b565b9050612a568282612a0f565b919050565b600067ffffffffffffffff821115612a7657612a756129e0565b5b612a7f82612729565b9050602081019050919050565b82818337600083830152505050565b6000612aae612aa984612a5b565b612a40565b905082815260208101848484011115612aca57612ac96129db565b5b612ad5848285612a8c565b509392505050565b600082601f830112612af257612af16129d6565b5b8135612b02848260208601612a9b565b91505092915050565b60008060008060808587031215612b2557612b24612615565b5b6000612b338782880161286b565b9450506020612b448782880161286b565b9350506040612b55878288016127b6565b925050606085013567ffffffffffffffff811115612b7657612b7561261a565b5b612b8287828801612add565b91505092959194509250565b600067ffffffffffffffff821115612ba957612ba86129e0565b5b612bb282612729565b9050602081019050919050565b6000612bd2612bcd84612b8e565b612a40565b905082815260208101848484011115612bee57612bed6129db565b5b612bf9848285612a8c565b509392505050565b600082601f830112612c1657612c156129d6565b5b8135612c26848260208601612bbf565b91505092915050565b600080600060608486031215612c4857612c47612615565b5b6000612c568682870161286b565b9350506020612c67868287016127b6565b925050604084013567ffffffffffffffff811115612c8857612c8761261a565b5b612c9486828701612c01565b9150509250925092565b60008060408385031215612cb557612cb4612615565b5b6000612cc38582860161286b565b9250506020612cd48582860161286b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d2557607f821691505b60208210811415612d3957612d38612cde565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612d9b6021836126e5565b9150612da682612d3f565b604082019050919050565b60006020820190508181036000830152612dca81612d8e565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612e2d603d836126e5565b9150612e3882612dd1565b604082019050919050565b60006020820190508181036000830152612e5c81612e20565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612ebf602d836126e5565b9150612eca82612e63565b604082019050919050565b60006020820190508181036000830152612eee81612eb2565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000612f51602b836126e5565b9150612f5c82612ef5565b604082019050919050565b60006020820190508181036000830152612f8081612f44565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000612fe3602c836126e5565b9150612fee82612f87565b604082019050919050565b6000602082019050818103600083015261301281612fd6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b600061307e6018836126e5565b915061308982613048565b602082019050919050565b600060208201905081810360008301526130ad81613071565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006131106029836126e5565b915061311b826130b4565b604082019050919050565b6000602082019050818103600083015261313f81613103565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006131a26026836126e5565b91506131ad82613146565b604082019050919050565b600060208201905081810360008301526131d181613195565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006132346025836126e5565b915061323f826131d8565b604082019050919050565b6000602082019050818103600083015261326381613227565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006132c66024836126e5565b91506132d18261326a565b604082019050919050565b600060208201905081810360008301526132f5816132b9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006133326020836126e5565b915061333d826132fc565b602082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b600061339e6019836126e5565b91506133a982613368565b602082019050919050565b600060208201905081810360008301526133cd81613391565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006134306032836126e5565b915061343b826133d4565b604082019050919050565b6000602082019050818103600083015261345f81613423565b9050919050565b600081905092915050565b600061347c826126da565b6134868185613466565b93506134968185602086016126f6565b80840191505092915050565b60006134ae8285613471565b91506134ba8284613471565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000613522602e836126e5565b915061352d826134c6565b604082019050919050565b6000602082019050818103600083015261355181613515565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061357f82613558565b6135898185613563565b93506135998185602086016126f6565b6135a281612729565b840191505092915050565b60006080820190506135c2600083018761282a565b6135cf602083018661282a565b6135dc60408301856128c0565b81810360608301526135ee8184613574565b905095945050505050565b6000815190506136088161264b565b92915050565b60006020828403121561362457613623612615565b5b6000613632848285016135f9565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006136976035836126e5565b91506136a28261363b565b604082019050919050565b600060208201905081810360008301526136c68161368a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006137326020836126e5565b915061373d826136fc565b602082019050919050565b6000602082019050818103600083015261376181613725565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061379e601c836126e5565b91506137a982613768565b602082019050919050565b600060208201905081810360008301526137cd81613791565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061380e82612795565b915061381983612795565b92508282101561382c5761382b6137d4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212206a5049b42f1687ee736de860ff808e02862144bb435c1fd37f9323724046e09664736f6c63430008090033