0x60806040526103e8600b556001600c556040518060400160405280600881526020017f6e66742e6a736f6e000000000000000000000000000000000000000000000000815250600e90805190602001906200005c9291906200021a565b506001600f60006101000a81548160ff0219169083151502179055503480156200008557600080fd5b506040518060400160405280601181526020017f466f757264696d204465626f78204e46540000000000000000000000000000008152506040518060400160405280600f81526020017f466f757264696d4465626f784e4654000000000000000000000000000000000081525081600090805190602001906200010a9291906200021a565b508060019080519060200190620001239291906200021a565b505050620001466200013a6200014c60201b60201c565b6200015460201b60201c565b6200032f565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8280546200022890620002ca565b90600052602060002090601f0160209004810192826200024c576000855562000298565b82601f106200026757805160ff191683800117855562000298565b8280016001018555821562000298579182015b82811115620002975782518255916020019190600101906200027a565b5b509050620002a79190620002ab565b5090565b5b80821115620002c6576000816000905550600101620002ac565b5090565b60006002820490506001821680620002e357607f821691505b60208210811415620002fa57620002f962000300565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613bae806200033f6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80636352211e11610104578063a22cb465116100a2578063c87b56dd11610071578063c87b56dd146104f2578063d5abeb0114610522578063e985e9c514610540578063f2fde38b14610570576101cf565b8063a22cb46514610480578063b88d4fde1461049c578063bc951b91146104b8578063c38bb537146104d6576101cf565b806379657870116100de578063796578701461040c5780638b5b346e146104285780638da5cb5b1461044457806395d89b4114610462576101cf565b80636352211e146103a257806370a08231146103d2578063715018a614610402576101cf565b806323b872dd1161017157806342842e0e1161014b57806342842e0e1461031c5780634f6ccce71461033857806355f804b3146103685780635c975abb14610384576101cf565b806323b872dd146102c65780632f745c59146102e25780633ccfd60b14610312576101cf565b8063095ea7b3116101ad578063095ea7b3146102525780631249c58b1461026e57806318160ddd146102785780631ba4f67d14610296576101cf565b806301ffc9a7146101d457806306fdde0314610204578063081812fc14610222575b600080fd5b6101ee60048036038101906101e99190612980565b61058c565b6040516101fb9190612ed8565b60405180910390f35b61020c61059e565b6040516102199190612ef3565b60405180910390f35b61023c60048036038101906102379190612a23565b610630565b6040516102499190612e71565b60405180910390f35b61026c60048036038101906102679190612913565b6106b5565b005b6102766107cd565b005b6102806109cc565b60405161028d91906131b5565b60405180910390f35b6102b060048036038101906102ab9190612790565b6109d9565b6040516102bd91906131b5565b60405180910390f35b6102e060048036038101906102db91906127fd565b6109f1565b005b6102fc60048036038101906102f79190612913565b610a51565b60405161030991906131b5565b60405180910390f35b61031a610af6565b005b610336600480360381019061033191906127fd565b610bc1565b005b610352600480360381019061034d9190612a23565b610be1565b60405161035f91906131b5565b60405180910390f35b610382600480360381019061037d91906129da565b610c52565b005b61038c610ce8565b6040516103999190612ed8565b60405180910390f35b6103bc60048036038101906103b79190612a23565b610cfb565b6040516103c99190612e71565b60405180910390f35b6103ec60048036038101906103e79190612790565b610dad565b6040516103f991906131b5565b60405180910390f35b61040a610e65565b005b61042660048036038101906104219190612913565b610eed565b005b610442600480360381019061043d9190612a23565b611010565b005b61044c611096565b6040516104599190612e71565b60405180910390f35b61046a6110c0565b6040516104779190612ef3565b60405180910390f35b61049a600480360381019061049591906128d3565b611152565b005b6104b660048036038101906104b19190612850565b611168565b005b6104c06111ca565b6040516104cd91906131b5565b60405180910390f35b6104f060048036038101906104eb9190612953565b6111d0565b005b61050c60048036038101906105079190612a23565b611269565b6040516105199190612ef3565b60405180910390f35b61052a61130a565b60405161053791906131b5565b60405180910390f35b61055a600480360381019061055591906127bd565b611310565b6040516105679190612ed8565b60405180910390f35b61058a60048036038101906105859190612790565b6113a4565b005b60006105978261149c565b9050919050565b6060600080546105ad906133ef565b80601f01602080910402602001604051908101604052809291908181526020018280546105d9906133ef565b80156106265780601f106105fb57610100808354040283529160200191610626565b820191906000526020600020905b81548152906001019060200180831161060957829003601f168201915b5050505050905090565b600061063b82611516565b61067a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610671906130d5565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006106c082610cfb565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610731576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161072890613115565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610750611582565b73ffffffffffffffffffffffffffffffffffffffff16148061077f575061077e81610779611582565b611310565b5b6107be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b590613055565b60405180910390fd5b6107c8838361158a565b505050565b600160008111801561082b5750600c5481601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461082891906132af565b11155b61086a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086190612f75565b60405180910390fd5b600b54816108766109cc565b61088091906132af565b11156108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890613135565b60405180910390fd5b600f60009054906101000a900460ff1615610911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090890613175565b60405180910390fd5b600061091b6109cc565b90506001601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461096991906132af565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006001826109bb91906132af565b90506109c73382611643565b505050565b6000600880549050905090565b60106020528060005260406000206000915090505481565b610a026109fc611582565b82611661565b610a41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a3890613155565b60405180910390fd5b610a4c83838361173f565b505050565b6000610a5c83610dad565b8210610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9490612f35565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610afe611582565b73ffffffffffffffffffffffffffffffffffffffff16610b1c611096565b73ffffffffffffffffffffffffffffffffffffffff1614610b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b69906130f5565b60405180910390fd5b60004790503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610bbd573d6000803e3d6000fd5b5050565b610bdc83838360405180602001604052806000815250611168565b505050565b6000610beb6109cc565b8210610c2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2390613195565b60405180910390fd5b60088281548110610c4057610c3f613528565b5b90600052602060002001549050919050565b610c5a611582565b73ffffffffffffffffffffffffffffffffffffffff16610c78611096565b73ffffffffffffffffffffffffffffffffffffffff1614610cce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc5906130f5565b60405180910390fd5b80600d9080519060200190610ce49291906125a4565b5050565b600f60009054906101000a900460ff1681565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9b90613095565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1590613075565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610e6d611582565b73ffffffffffffffffffffffffffffffffffffffff16610e8b611096565b73ffffffffffffffffffffffffffffffffffffffff1614610ee1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed8906130f5565b60405180910390fd5b610eeb60006119a6565b565b610ef5611582565b73ffffffffffffffffffffffffffffffffffffffff16610f13611096565b73ffffffffffffffffffffffffffffffffffffffff1614610f69576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f60906130f5565b60405180910390fd5b6000610f736109cc565b9050600b548282610f8491906132af565b1115610fc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbc90613135565b60405180910390fd5b60005b8281101561100a57600060018284610fe091906132af565b610fea91906132af565b9050610ff68582611643565b50808061100290613452565b915050610fc8565b50505050565b611018611582565b73ffffffffffffffffffffffffffffffffffffffff16611036611096565b73ffffffffffffffffffffffffffffffffffffffff161461108c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611083906130f5565b60405180910390fd5b80600c8190555050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546110cf906133ef565b80601f01602080910402602001604051908101604052809291908181526020018280546110fb906133ef565b80156111485780601f1061111d57610100808354040283529160200191611148565b820191906000526020600020905b81548152906001019060200180831161112b57829003601f168201915b5050505050905090565b61116461115d611582565b8383611a6c565b5050565b611179611173611582565b83611661565b6111b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111af90613155565b60405180910390fd5b6111c484848484611bd9565b50505050565b600c5481565b6111d8611582565b73ffffffffffffffffffffffffffffffffffffffff166111f6611096565b73ffffffffffffffffffffffffffffffffffffffff161461124c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611243906130f5565b60405180910390fd5b80600f60006101000a81548160ff02191690831515021790555050565b606061127482611516565b6112b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112aa90612f15565b60405180910390fd5b6000600d80546112c2906133ef565b9050116112de5760405180602001604052806000815250611303565b600d600e6040516020016112f3929190612e4d565b6040516020818303038152906040525b9050919050565b600b5481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6113ac611582565b73ffffffffffffffffffffffffffffffffffffffff166113ca611096565b73ffffffffffffffffffffffffffffffffffffffff1614611420576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611417906130f5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611490576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148790612f95565b60405180910390fd5b611499816119a6565b50565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061150f575061150e82611c35565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166115fd83610cfb565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b61165d828260405180602001604052806000815250611d17565b5050565b600061166c82611516565b6116ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a290613035565b60405180910390fd5b60006116b683610cfb565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116f857506116f78185611310565b5b8061173657508373ffffffffffffffffffffffffffffffffffffffff1661171e84610630565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661175f82610cfb565b73ffffffffffffffffffffffffffffffffffffffff16146117b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ac90612fb5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611825576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161181c90612ff5565b60405180910390fd5b611830838383611d72565b61183b60008261158a565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461188b9190613305565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118e291906132af565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46119a1838383611d82565b505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611adb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ad290613015565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611bcc9190612ed8565b60405180910390a3505050565b611be484848461173f565b611bf084848484611d87565b611c2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2690612f55565b60405180910390fd5b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611d0057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611d105750611d0f82611f1e565b5b9050919050565b611d218383611f88565b611d2e6000848484611d87565b611d6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6490612f55565b60405180910390fd5b505050565b611d7d838383612162565b505050565b505050565b6000611da88473ffffffffffffffffffffffffffffffffffffffff16612276565b15611f11578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611dd1611582565b8786866040518563ffffffff1660e01b8152600401611df39493929190612e8c565b602060405180830381600087803b158015611e0d57600080fd5b505af1925050508015611e3e57506040513d601f19601f82011682018060405250810190611e3b91906129ad565b60015b611ec1573d8060008114611e6e576040519150601f19603f3d011682016040523d82523d6000602084013e611e73565b606091505b50600081511415611eb9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb090612f55565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611f16565b600190505b949350505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fef906130b5565b60405180910390fd5b61200181611516565b15612041576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161203890612fd5565b60405180910390fd5b61204d60008383611d72565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461209d91906132af565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461215e60008383611d82565b5050565b61216d838383612299565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121b0576121ab8161229e565b6121ef565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146121ee576121ed83826122e7565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156122325761222d81612454565b612271565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146122705761226f8282612525565b5b5b505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016122f484610dad565b6122fe9190613305565b90506000600760008481526020019081526020016000205490508181146123e3576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506124689190613305565b905060006009600084815260200190815260200160002054905060006008838154811061249857612497613528565b5b9060005260206000200154905080600883815481106124ba576124b9613528565b5b906000526020600020018190555081600960008381526020019081526020016000208190555060096000858152602001908152602001600020600090556008805480612509576125086134f9565b5b6001900381819060005260206000200160009055905550505050565b600061253083610dad565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b8280546125b0906133ef565b90600052602060002090601f0160209004810192826125d25760008555612619565b82601f106125eb57805160ff1916838001178555612619565b82800160010185558215612619579182015b828111156126185782518255916020019190600101906125fd565b5b509050612626919061262a565b5090565b5b8082111561264357600081600090555060010161262b565b5090565b600061265a612655846131f5565b6131d0565b9050828152602081018484840111156126765761267561358b565b5b6126818482856133ad565b509392505050565b600061269c61269784613226565b6131d0565b9050828152602081018484840111156126b8576126b761358b565b5b6126c38482856133ad565b509392505050565b6000813590506126da81613b1c565b92915050565b6000813590506126ef81613b33565b92915050565b60008135905061270481613b4a565b92915050565b60008151905061271981613b4a565b92915050565b600082601f83011261273457612733613586565b5b8135612744848260208601612647565b91505092915050565b600082601f83011261276257612761613586565b5b8135612772848260208601612689565b91505092915050565b60008135905061278a81613b61565b92915050565b6000602082840312156127a6576127a5613595565b5b60006127b4848285016126cb565b91505092915050565b600080604083850312156127d4576127d3613595565b5b60006127e2858286016126cb565b92505060206127f3858286016126cb565b9150509250929050565b60008060006060848603121561281657612815613595565b5b6000612824868287016126cb565b9350506020612835868287016126cb565b92505060406128468682870161277b565b9150509250925092565b6000806000806080858703121561286a57612869613595565b5b6000612878878288016126cb565b9450506020612889878288016126cb565b935050604061289a8782880161277b565b925050606085013567ffffffffffffffff8111156128bb576128ba613590565b5b6128c78782880161271f565b91505092959194509250565b600080604083850312156128ea576128e9613595565b5b60006128f8858286016126cb565b9250506020612909858286016126e0565b9150509250929050565b6000806040838503121561292a57612929613595565b5b6000612938858286016126cb565b92505060206129498582860161277b565b9150509250929050565b60006020828403121561296957612968613595565b5b6000612977848285016126e0565b91505092915050565b60006020828403121561299657612995613595565b5b60006129a4848285016126f5565b91505092915050565b6000602082840312156129c3576129c2613595565b5b60006129d18482850161270a565b91505092915050565b6000602082840312156129f0576129ef613595565b5b600082013567ffffffffffffffff811115612a0e57612a0d613590565b5b612a1a8482850161274d565b91505092915050565b600060208284031215612a3957612a38613595565b5b6000612a478482850161277b565b91505092915050565b612a5981613339565b82525050565b612a688161334b565b82525050565b6000612a798261326c565b612a838185613282565b9350612a938185602086016133bc565b612a9c8161359a565b840191505092915050565b6000612ab282613277565b612abc8185613293565b9350612acc8185602086016133bc565b612ad58161359a565b840191505092915050565b60008154612aed816133ef565b612af781866132a4565b94506001821660008114612b125760018114612b2357612b56565b60ff19831686528186019350612b56565b612b2c85613257565b60005b83811015612b4e57815481890152600182019150602081019050612b2f565b838801955050505b50505092915050565b6000612b6c601f83613293565b9150612b77826135ab565b602082019050919050565b6000612b8f602b83613293565b9150612b9a826135d4565b604082019050919050565b6000612bb2603283613293565b9150612bbd82613623565b604082019050919050565b6000612bd5602483613293565b9150612be082613672565b604082019050919050565b6000612bf8602683613293565b9150612c03826136c1565b604082019050919050565b6000612c1b602583613293565b9150612c2682613710565b604082019050919050565b6000612c3e601c83613293565b9150612c498261375f565b602082019050919050565b6000612c61602483613293565b9150612c6c82613788565b604082019050919050565b6000612c84601983613293565b9150612c8f826137d7565b602082019050919050565b6000612ca7602c83613293565b9150612cb282613800565b604082019050919050565b6000612cca603883613293565b9150612cd58261384f565b604082019050919050565b6000612ced602a83613293565b9150612cf88261389e565b604082019050919050565b6000612d10602983613293565b9150612d1b826138ed565b604082019050919050565b6000612d33602083613293565b9150612d3e8261393c565b602082019050919050565b6000612d56602c83613293565b9150612d6182613965565b604082019050919050565b6000612d79602083613293565b9150612d84826139b4565b602082019050919050565b6000612d9c602183613293565b9150612da7826139dd565b604082019050919050565b6000612dbf601483613293565b9150612dca82613a2c565b602082019050919050565b6000612de2603183613293565b9150612ded82613a55565b604082019050919050565b6000612e05600f83613293565b9150612e1082613aa4565b602082019050919050565b6000612e28602c83613293565b9150612e3382613acd565b604082019050919050565b612e47816133a3565b82525050565b6000612e598285612ae0565b9150612e658284612ae0565b91508190509392505050565b6000602082019050612e866000830184612a50565b92915050565b6000608082019050612ea16000830187612a50565b612eae6020830186612a50565b612ebb6040830185612e3e565b8181036060830152612ecd8184612a6e565b905095945050505050565b6000602082019050612eed6000830184612a5f565b92915050565b60006020820190508181036000830152612f0d8184612aa7565b905092915050565b60006020820190508181036000830152612f2e81612b5f565b9050919050565b60006020820190508181036000830152612f4e81612b82565b9050919050565b60006020820190508181036000830152612f6e81612ba5565b9050919050565b60006020820190508181036000830152612f8e81612bc8565b9050919050565b60006020820190508181036000830152612fae81612beb565b9050919050565b60006020820190508181036000830152612fce81612c0e565b9050919050565b60006020820190508181036000830152612fee81612c31565b9050919050565b6000602082019050818103600083015261300e81612c54565b9050919050565b6000602082019050818103600083015261302e81612c77565b9050919050565b6000602082019050818103600083015261304e81612c9a565b9050919050565b6000602082019050818103600083015261306e81612cbd565b9050919050565b6000602082019050818103600083015261308e81612ce0565b9050919050565b600060208201905081810360008301526130ae81612d03565b9050919050565b600060208201905081810360008301526130ce81612d26565b9050919050565b600060208201905081810360008301526130ee81612d49565b9050919050565b6000602082019050818103600083015261310e81612d6c565b9050919050565b6000602082019050818103600083015261312e81612d8f565b9050919050565b6000602082019050818103600083015261314e81612db2565b9050919050565b6000602082019050818103600083015261316e81612dd5565b9050919050565b6000602082019050818103600083015261318e81612df8565b9050919050565b600060208201905081810360008301526131ae81612e1b565b9050919050565b60006020820190506131ca6000830184612e3e565b92915050565b60006131da6131eb565b90506131e68282613421565b919050565b6000604051905090565b600067ffffffffffffffff8211156132105761320f613557565b5b6132198261359a565b9050602081019050919050565b600067ffffffffffffffff82111561324157613240613557565b5b61324a8261359a565b9050602081019050919050565b60008190508160005260206000209050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006132ba826133a3565b91506132c5836133a3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132fa576132f961349b565b5b828201905092915050565b6000613310826133a3565b915061331b836133a3565b92508282101561332e5761332d61349b565b5b828203905092915050565b600061334482613383565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156133da5780820151818401526020810190506133bf565b838111156133e9576000848401525b50505050565b6000600282049050600182168061340757607f821691505b6020821081141561341b5761341a6134ca565b5b50919050565b61342a8261359a565b810181811067ffffffffffffffff8211171561344957613448613557565b5b80604052505050565b600061345d826133a3565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156134905761348f61349b565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f416d6f756e7420626967676572207468616e20616c6c6f776564206d6178206d60008201527f696e742100000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4d617820737570706c7920657863656564656421000000000000000000000000600082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f4d696e7420697320706175736564210000000000000000000000000000000000600082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b613b2581613339565b8114613b3057600080fd5b50565b613b3c8161334b565b8114613b4757600080fd5b50565b613b5381613357565b8114613b5e57600080fd5b50565b613b6a816133a3565b8114613b7557600080fd5b5056fea2646970667358221220144fab0837fe6335758abd2dcc235de0bf02958ce135a44564976e3dc9a00f8f64736f6c63430008070033