60806040526618838370f34000600a556014600b55612710600c556064600d55600160105560006011556127106012556000601460006101000a81548160ff0219169083151502179055503480156200005757600080fd5b506040518060400160405280601181526020017f426974636f696e204170652050756e6b730000000000000000000000000000008152506040518060400160405280600381526020017f4241500000000000000000000000000000000000000000000000000000000000815250733cc6cdda760b79bafa08df41ecfa224f810dceb6600160006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115620002d057801562000196576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b81526004016200015c92919062000454565b600060405180830381600087803b1580156200017757600080fd5b505af11580156200018c573d6000803e3d6000fd5b50505050620002cf565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000250576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b81526004016200021692919062000454565b600060405180830381600087803b1580156200023157600080fd5b505af115801562000246573d6000803e3d6000fd5b50505050620002ce565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040162000299919062000481565b600060405180830381600087803b158015620002b457600080fd5b505af1158015620002c9573d6000803e3d6000fd5b505050505b5b5b50508160029081620002e3919062000718565b508060039081620002f5919062000718565b50620003066200033c60201b60201c565b60008190555050506200032e620003226200034160201b60201c565b6200034960201b60201c565b6001600981905550620007ff565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200043c826200040f565b9050919050565b6200044e816200042f565b82525050565b60006040820190506200046b600083018562000443565b6200047a602083018462000443565b9392505050565b600060208201905062000498600083018462000443565b92915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200052057607f821691505b602082108103620005365762000535620004d8565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620005a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000561565b620005ac868362000561565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620005f9620005f3620005ed84620005c4565b620005ce565b620005c4565b9050919050565b6000819050919050565b6200061583620005d8565b6200062d620006248262000600565b8484546200056e565b825550505050565b600090565b6200064462000635565b620006518184846200060a565b505050565b5b8181101562000679576200066d6000826200063a565b60018101905062000657565b5050565b601f821115620006c85762000692816200053c565b6200069d8462000551565b81016020851015620006ad578190505b620006c5620006bc8562000551565b83018262000656565b50505b505050565b600082821c905092915050565b6000620006ed60001984600802620006cd565b1980831691505092915050565b6000620007088383620006da565b9150826002028217905092915050565b62000723826200049e565b67ffffffffffffffff8111156200073f576200073e620004a9565b5b6200074b825462000507565b620007588282856200067d565b600060209050601f8311600181146200079057600084156200077b578287015190505b620007878582620006fa565b865550620007f7565b601f198416620007a0866200053c565b60005b82811015620007ca57848901518255600182019150602085019450602081019050620007a3565b86831015620007ea5784890151620007e6601f891682620006da565b8355505b6001600288020188555050505b505050505050565b6152b6806200080f6000396000f3fe60806040526004361061027d5760003560e01c806382b12dd71161014f578063b0c2b561116100c1578063d5abeb011161007a578063d5abeb0114610944578063dad7b5c91461096f578063e945971c1461099a578063e985e9c5146109c3578063f2f0e5c914610a00578063f2fde38b14610a1c5761027d565b8063b0c2b56114610834578063b88d4fde1461085d578063b941160114610886578063c7c39ffc146108b1578063c87b56dd146108dc578063d1239730146109195761027d565b806395d89b411161011357806395d89b4114610747578063998cdf8314610772578063a035b1fe1461079b578063a0712d68146107c6578063a0bcfc7f146107e2578063a22cb4651461080b5761027d565b806382b12dd7146106835780638c74bf0e146106ae5780638da5cb5b146106d757806390fd50b3146107025780639495152d1461071e5761027d565b806341f43434116101f35780636352211e116101ac5780636352211e1461057357806370a08231146105b0578063715018a6146105ed5780637437681e146106045780637c3293db1461062f5780637d55094d1461066c5761027d565b806341f434341461046557806342842e0e1461049057806344a0d68a146104b957806344d19d2b146104e25780634f6ccce71461050d5780635a963f1b1461054a5761027d565b80632029ba95116102455780632029ba951461037b57806323b872dd146103a65780632f745c59146103cf578063333e44e61461040c5780633ccfd60b146104375780634005c0161461044e5761027d565b806301ffc9a71461028257806306fdde03146102bf578063081812fc146102ea578063095ea7b31461032757806318160ddd14610350575b600080fd5b34801561028e57600080fd5b506102a960048036038101906102a49190613ae3565b610a45565b6040516102b69190613b2b565b60405180910390f35b3480156102cb57600080fd5b506102d4610b8f565b6040516102e19190613bd6565b60405180910390f35b3480156102f657600080fd5b50610311600480360381019061030c9190613c2e565b610c21565b60405161031e9190613c9c565b60405180910390f35b34801561033357600080fd5b5061034e60048036038101906103499190613ce3565b610c9d565b005b34801561035c57600080fd5b50610365610cb6565b6040516103729190613d32565b60405180910390f35b34801561038757600080fd5b50610390610ccd565b60405161039d9190613b2b565b60405180910390f35b3480156103b257600080fd5b506103cd60048036038101906103c89190613d4d565b610ce0565b005b3480156103db57600080fd5b506103f660048036038101906103f19190613ce3565b610d2f565b6040516104039190613d32565b60405180910390f35b34801561041857600080fd5b50610421610f3a565b60405161042e9190613d32565b60405180910390f35b34801561044357600080fd5b5061044c610f40565b005b34801561045a57600080fd5b5061046361104c565b005b34801561047157600080fd5b5061047a611080565b6040516104879190613dff565b60405180910390f35b34801561049c57600080fd5b506104b760048036038101906104b29190613d4d565b611092565b005b3480156104c557600080fd5b506104e060048036038101906104db9190613c2e565b6110e1565b005b3480156104ee57600080fd5b506104f76110f3565b6040516105049190613d32565b60405180910390f35b34801561051957600080fd5b50610534600480360381019061052f9190613c2e565b6110f9565b6040516105419190613d32565b60405180910390f35b34801561055657600080fd5b50610571600480360381019061056c9190613c2e565b61114c565b005b34801561057f57600080fd5b5061059a60048036038101906105959190613c2e565b61115e565b6040516105a79190613c9c565b60405180910390f35b3480156105bc57600080fd5b506105d760048036038101906105d29190613e1a565b611174565b6040516105e49190613d32565b60405180910390f35b3480156105f957600080fd5b50610602611243565b005b34801561061057600080fd5b50610619611257565b6040516106269190613d32565b60405180910390f35b34801561063b57600080fd5b5061065660048036038101906106519190613e1a565b61125d565b6040516106639190613d32565b60405180910390f35b34801561067857600080fd5b50610681611275565b005b34801561068f57600080fd5b506106986112a9565b6040516106a59190613d32565b60405180910390f35b3480156106ba57600080fd5b506106d560048036038101906106d09190613c2e565b6112af565b005b3480156106e357600080fd5b506106ec611378565b6040516106f99190613c9c565b60405180910390f35b61071c60048036038101906107179190613c2e565b6113a2565b005b34801561072a57600080fd5b5061074560048036038101906107409190613eac565b611469565b005b34801561075357600080fd5b5061075c61151a565b6040516107699190613bd6565b60405180910390f35b34801561077e57600080fd5b5061079960048036038101906107949190613c2e565b6115ac565b005b3480156107a757600080fd5b506107b06115be565b6040516107bd9190613d32565b60405180910390f35b6107e060048036038101906107db9190613c2e565b6115c4565b005b3480156107ee57600080fd5b5061080960048036038101906108049190614029565b611ad1565b005b34801561081757600080fd5b50610832600480360381019061082d919061409e565b611aec565b005b34801561084057600080fd5b5061085b60048036038101906108569190613c2e565b611b05565b005b34801561086957600080fd5b50610884600480360381019061087f919061417f565b611b17565b005b34801561089257600080fd5b5061089b611b68565b6040516108a89190613d32565b60405180910390f35b3480156108bd57600080fd5b506108c6611b72565b6040516108d39190613d32565b60405180910390f35b3480156108e857600080fd5b5061090360048036038101906108fe9190613c2e565b611b78565b6040516109109190613bd6565b60405180910390f35b34801561092557600080fd5b5061092e611c1f565b60405161093b9190613b2b565b60405180910390f35b34801561095057600080fd5b50610959611c32565b6040516109669190613d32565b60405180910390f35b34801561097b57600080fd5b50610984611c38565b6040516109919190613d32565b60405180910390f35b3480156109a657600080fd5b506109c160048036038101906109bc9190613c2e565b611c3e565b005b3480156109cf57600080fd5b506109ea60048036038101906109e59190614202565b611c50565b6040516109f79190613b2b565b60405180910390f35b610a1a6004803603810190610a159190613eac565b611ce4565b005b348015610a2857600080fd5b50610a436004803603810190610a3e9190613e1a565b611e0e565b005b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610b1057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b7857507f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610b885750610b8782611e91565b5b9050919050565b606060028054610b9e90614271565b80601f0160208091040260200160405190810160405280929190818152602001828054610bca90614271565b8015610c175780601f10610bec57610100808354040283529160200191610c17565b820191906000526020600020905b815481529060010190602001808311610bfa57829003601f168201915b5050505050905090565b6000610c2c82611efb565b610c62576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b81610ca781611f49565b610cb18383612046565b505050565b6000610cc061219d565b6001546000540303905090565b601460009054906101000a900460ff1681565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d1e57610d1d33611f49565b5b610d298484846121a2565b50505050565b6000610d3a83611174565b8210610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7290614314565b60405180910390fd5b6000610d85610cb6565b905060008060005b83811015610ef8576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610e9a57806000015192505b8773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eea57868403610ee1578195505050505050610f34565b83806001019450505b508080600101915050610d8d565b506040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2b906143a6565b60405180910390fd5b92915050565b60125481565b610f486121f1565b600260095403610f8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8490614412565b60405180910390fd5b600260098190555060003373ffffffffffffffffffffffffffffffffffffffff1647604051610fbb90614463565b60006040518083038185875af1925050503d8060008114610ff8576040519150601f19603f3d011682016040523d82523d6000602084013e610ffd565b606091505b5050905080611041576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611038906144c4565b60405180910390fd5b506001600981905550565b6110546121f1565b601460009054906101000a900460ff1615601460006101000a81548160ff021916908315150217905550565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146110d0576110cf33611f49565b5b6110db84848461226f565b50505050565b6110e96121f1565b80600a8190555050565b600d5481565b6000611103610cb6565b8210611144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113b90614556565b60405180910390fd5b819050919050565b6111546121f1565b8060128190555050565b6000611169826122ce565b600001519050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111db576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900467ffffffffffffffff1667ffffffffffffffff169050919050565b61124b6121f1565b611255600061255d565b565b600b5481565b60156020528060005260406000206000915090505481565b61127d6121f1565b600f60009054906101000a900460ff1615600f60006101000a81548160ff021916908315150217905550565b60135481565b6112b76121f1565b6000600d549050600c54826112ca610cb6565b6112d491906145a5565b1115611315576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130c90614625565b60405180910390fd5b81811015611358576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134f90614691565b60405180910390fd5b818161136491906146b1565b600d819055506113743383612623565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b3373ffffffffffffffffffffffffffffffffffffffff166113c28261115e565b73ffffffffffffffffffffffffffffffffffffffff1614611418576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140f90614731565b60405180910390fd5b60135434101561145d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611454906147c3565b60405180910390fd5b61146681612641565b50565b6114716121f1565b60005b82829050811015611515576114a1838383818110611495576114946147e3565b5b90506020020135611efb565b6114e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114d79061485e565b60405180910390fd5b6115028383838181106114f6576114f56147e3565b5b90506020020135612641565b808061150d9061487e565b915050611474565b505050565b60606003805461152990614271565b80601f016020809104026020016040519081016040528092919081815260200182805461155590614271565b80156115a25780601f10611577576101008083540402835291602001916115a2565b820191906000526020600020905b81548152906001019060200180831161158557829003601f168201915b5050505050905090565b6115b46121f1565b8060138190555050565b600a5481565b60006012546011541080156116195750601054601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054105b9050801561198757600f60009054906101000a900460ff16611670576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166790614912565b60405180910390fd5b600c548261167c610cb6565b61168691906145a5565b11156116c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116be9061497e565b60405180910390fd5b600b5482111561170c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611703906149ea565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460105461175991906146b1565b821061187957600a54601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546010546117af91906146b1565b6117b99190614a0a565b600a54836117c79190614a0a565b6117d191906146b1565b341015611813576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180a90614a98565b60405180910390fd5b601054601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506010546011600082825461186d91906145a5565b92505081905550611982565b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546010546118c691906146b1565b821015611981576000341015611911576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190890614a98565b60405180910390fd5b81601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461196091906145a5565b92505081905550816011600082825461197991906145a5565b925050819055505b5b611ac3565b600f60009054906101000a900460ff166119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cd90614912565b60405180910390fd5b600a54826119e49190614a0a565b341015611a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a1d90614a98565b60405180910390fd5b600c5482611a32610cb6565b611a3c91906145a5565b1115611a7d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a749061497e565b60405180910390fd5b600b54821115611ac2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab9906149ea565b60405180910390fd5b5b611acd3383612623565b5050565b611ad96121f1565b80600e9081611ae89190614c5a565b5050565b81611af681611f49565b611b00838361264f565b505050565b611b0d6121f1565b80600b8190555050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611b5557611b5433611f49565b5b611b618585858561280e565b5050505050565b6000600a54905090565b60105481565b6060611b8382611efb565b611bc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb990614d9e565b60405180910390fd5b6000611bcc6128c9565b90506000815111611bec5760405180602001604052806000815250611c17565b80611bf68461295b565b604051602001611c07929190614e46565b6040516020818303038152906040525b915050919050565b600f60009054906101000a900460ff1681565b600c5481565b60115481565b611c466121f1565b8060108190555050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60135482829050611cf59190614a0a565b341015611d37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d2e906147c3565b60405180910390fd5b60005b82829050811015611e09573373ffffffffffffffffffffffffffffffffffffffff16611d7e848484818110611d7257611d716147e3565b5b9050602002013561115e565b73ffffffffffffffffffffffffffffffffffffffff1614611dd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dcb90614731565b60405180910390fd5b611df6838383818110611dea57611de96147e3565b5b90506020020135612641565b8080611e019061487e565b915050611d3a565b505050565b611e166121f1565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611e85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e7c90614ee7565b60405180910390fd5b611e8e8161255d565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600081611f0661219d565b11158015611f15575060005482105b8015611f42575060046000838152602001908152602001600020600001601c9054906101000a900460ff16155b9050919050565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115612043576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401611fc0929190614f07565b602060405180830381865afa158015611fdd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120019190614f45565b61204257806040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016120399190613c9c565b60405180910390fd5b5b50565b813373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146120845761208333611f49565b5b600061208f8361115e565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036120ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120f690614fe4565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661211e612a29565b73ffffffffffffffffffffffffffffffffffffffff16148061214d575061214c81612147612a29565b611c50565b5b61218c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218390615076565b60405180910390fd5b612197848483612a31565b50505050565b600090565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146121e0576121df33611f49565b5b6121eb848484612ae3565b50505050565b6121f9612a29565b73ffffffffffffffffffffffffffffffffffffffff16612217611378565b73ffffffffffffffffffffffffffffffffffffffff161461226d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612264906150e2565b60405180910390fd5b565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146122ad576122ac33611f49565b5b6122c884848460405180602001604052806000815250611b17565b50505050565b6122d6613a34565b6000829050806122e461219d565b111580156122f3575060005481105b15612526576000600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050806040015161252457600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612408578092505050612558565b5b60011561252357818060019003925050600460008381526020019081526020016000206040518060600160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff16815260200160008201601c9054906101000a900460ff1615151515815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff161461251e578092505050612558565b612409565b5b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61263d828260405180602001604052806000815250612f97565b5050565b61264c816000612fa9565b50565b813373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461268d5761268c33611f49565b5b612695612a29565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612702576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126f99061514e565b60405180910390fd5b816007600061270f612a29565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508273ffffffffffffffffffffffffffffffffffffffff166127bc612a29565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31846040516128019190613b2b565b60405180910390a3505050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461284c5761284b33611f49565b5b612857858585612ae3565b6128768473ffffffffffffffffffffffffffffffffffffffff16613398565b801561288b5750612889858585856133bb565b155b156128c2576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b6060600e80546128d890614271565b80601f016020809104026020016040519081016040528092919081815260200182805461290490614271565b80156129515780601f1061292657610100808354040283529160200191612951565b820191906000526020600020905b81548152906001019060200180831161293457829003601f168201915b5050505050905090565b60606000600161296a8461350b565b01905060008167ffffffffffffffff81111561298957612988613efe565b5b6040519080825280601f01601f1916602001820160405280156129bb5781602001600182028036833780820191505090505b509050600082602001820190505b600115612a1e578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581612a1257612a1161516e565b5b049450600085036129c9575b819350505050919050565b600033905090565b826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b6000612aee826122ce565b90508373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614612b59576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff16612b7a612a29565b73ffffffffffffffffffffffffffffffffffffffff161480612ba95750612ba885612ba3612a29565b611c50565b5b80612bee5750612bb7612a29565b73ffffffffffffffffffffffffffffffffffffffff16612bd684610c21565b73ffffffffffffffffffffffffffffffffffffffff16145b905080612c27576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612c8d576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612c9a858585600161365e565b612ca660008487612a31565b6001600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600460008581526020019081526020016000209050848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060006001850190506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612f25576000548214612f2457878160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b505050828473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612f908585856001613664565b5050505050565b612fa4838383600161366a565b505050565b6000612fb4836122ce565b905060008160000151905082156130955760008173ffffffffffffffffffffffffffffffffffffffff16612fe6612a29565b73ffffffffffffffffffffffffffffffffffffffff16148061301557506130148261300f612a29565b611c50565b5b8061305a5750613023612a29565b73ffffffffffffffffffffffffffffffffffffffff1661304286610c21565b73ffffffffffffffffffffffffffffffffffffffff16145b905080613093576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6130a381600086600161365e565b6130af60008583612a31565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060018160000160008282829054906101000a900467ffffffffffffffff160392506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060018160000160108282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000600460008781526020019081526020016000209050828160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550428160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550600181600001601c6101000a81548160ff02191690831515021790555060006001870190506000600460008381526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361331257600054821461331157848160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085602001518160000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b5b5050505083600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613380816000866001613664565b60016000815480929190600101919050555050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a026133e1612a29565b8786866040518563ffffffff1660e01b815260040161340394939291906151f2565b6020604051808303816000875af192505050801561343f57506040513d601f19601f8201168201806040525081019061343c9190615253565b60015b6134b8573d806000811461346f576040519150601f19603f3d011682016040523d82523d6000602084013e613474565b606091505b5060008151036134b0576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613569577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161355f5761355e61516e565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106135a6576d04ee2d6d415b85acef8100000000838161359c5761359b61516e565b5b0492506020810190505b662386f26fc1000083106135d557662386f26fc1000083816135cb576135ca61516e565b5b0492506010810190505b6305f5e10083106135fe576305f5e10083816135f4576135f361516e565b5b0492506008810190505b61271083106136235761271083816136195761361861516e565b5b0492506004810190505b60648310613646576064838161363c5761363b61516e565b5b0492506002810190505b600a8310613655576001810190505b80915050919050565b50505050565b50505050565b600080549050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036136d6576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008403613710576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61371d600086838761365e565b83600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160008282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555083600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160088282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550846004600083815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550426004600083815260200190815260200160002060000160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506000819050600085820190508380156138e757506138e68773ffffffffffffffffffffffffffffffffffffffff16613398565b5b156139ac575b818773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461395c60008884806001019550886133bb565b613992576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8082036138ed5782600054146139a757600080fd5b613a17565b5b818060010192508773ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a48082036139ad575b816000819055505050613a2d6000868387613664565b5050505050565b6040518060600160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600067ffffffffffffffff1681526020016000151581525090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613ac081613a8b565b8114613acb57600080fd5b50565b600081359050613add81613ab7565b92915050565b600060208284031215613af957613af8613a81565b5b6000613b0784828501613ace565b91505092915050565b60008115159050919050565b613b2581613b10565b82525050565b6000602082019050613b406000830184613b1c565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b80578082015181840152602081019050613b65565b60008484015250505050565b6000601f19601f8301169050919050565b6000613ba882613b46565b613bb28185613b51565b9350613bc2818560208601613b62565b613bcb81613b8c565b840191505092915050565b60006020820190508181036000830152613bf08184613b9d565b905092915050565b6000819050919050565b613c0b81613bf8565b8114613c1657600080fd5b50565b600081359050613c2881613c02565b92915050565b600060208284031215613c4457613c43613a81565b5b6000613c5284828501613c19565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c8682613c5b565b9050919050565b613c9681613c7b565b82525050565b6000602082019050613cb16000830184613c8d565b92915050565b613cc081613c7b565b8114613ccb57600080fd5b50565b600081359050613cdd81613cb7565b92915050565b60008060408385031215613cfa57613cf9613a81565b5b6000613d0885828601613cce565b9250506020613d1985828601613c19565b9150509250929050565b613d2c81613bf8565b82525050565b6000602082019050613d476000830184613d23565b92915050565b600080600060608486031215613d6657613d65613a81565b5b6000613d7486828701613cce565b9350506020613d8586828701613cce565b9250506040613d9686828701613c19565b9150509250925092565b6000819050919050565b6000613dc5613dc0613dbb84613c5b565b613da0565b613c5b565b9050919050565b6000613dd782613daa565b9050919050565b6000613de982613dcc565b9050919050565b613df981613dde565b82525050565b6000602082019050613e146000830184613df0565b92915050565b600060208284031215613e3057613e2f613a81565b5b6000613e3e84828501613cce565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613e6c57613e6b613e47565b5b8235905067ffffffffffffffff811115613e8957613e88613e4c565b5b602083019150836020820283011115613ea557613ea4613e51565b5b9250929050565b60008060208385031215613ec357613ec2613a81565b5b600083013567ffffffffffffffff811115613ee157613ee0613a86565b5b613eed85828601613e56565b92509250509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613f3682613b8c565b810181811067ffffffffffffffff82111715613f5557613f54613efe565b5b80604052505050565b6000613f68613a77565b9050613f748282613f2d565b919050565b600067ffffffffffffffff821115613f9457613f93613efe565b5b613f9d82613b8c565b9050602081019050919050565b82818337600083830152505050565b6000613fcc613fc784613f79565b613f5e565b905082815260208101848484011115613fe857613fe7613ef9565b5b613ff3848285613faa565b509392505050565b600082601f8301126140105761400f613e47565b5b8135614020848260208601613fb9565b91505092915050565b60006020828403121561403f5761403e613a81565b5b600082013567ffffffffffffffff81111561405d5761405c613a86565b5b61406984828501613ffb565b91505092915050565b61407b81613b10565b811461408657600080fd5b50565b60008135905061409881614072565b92915050565b600080604083850312156140b5576140b4613a81565b5b60006140c385828601613cce565b92505060206140d485828601614089565b9150509250929050565b600067ffffffffffffffff8211156140f9576140f8613efe565b5b61410282613b8c565b9050602081019050919050565b600061412261411d846140de565b613f5e565b90508281526020810184848401111561413e5761413d613ef9565b5b614149848285613faa565b509392505050565b600082601f83011261416657614165613e47565b5b813561417684826020860161410f565b91505092915050565b6000806000806080858703121561419957614198613a81565b5b60006141a787828801613cce565b94505060206141b887828801613cce565b93505060406141c987828801613c19565b925050606085013567ffffffffffffffff8111156141ea576141e9613a86565b5b6141f687828801614151565b91505092959194509250565b6000806040838503121561421957614218613a81565b5b600061422785828601613cce565b925050602061423885828601613cce565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061428957607f821691505b60208210810361429c5761429b614242565b5b50919050565b7f455243373231413a206f776e657220696e646578206f7574206f6620626f756e60008201527f6473000000000000000000000000000000000000000000000000000000000000602082015250565b60006142fe602283613b51565b9150614309826142a2565b604082019050919050565b6000602082019050818103600083015261432d816142f1565b9050919050565b7f455243373231413a20756e61626c6520746f2067657420746f6b656e206f662060008201527f6f776e657220627920696e646578000000000000000000000000000000000000602082015250565b6000614390602e83613b51565b915061439b82614334565b604082019050919050565b600060208201905081810360008301526143bf81614383565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b60006143fc601f83613b51565b9150614407826143c6565b602082019050919050565b6000602082019050818103600083015261442b816143ef565b9050919050565b600081905092915050565b50565b600061444d600083614432565b91506144588261443d565b600082019050919050565b600061446e82614440565b9150819050919050565b7f5472616e73666572206661696c65642e00000000000000000000000000000000600082015250565b60006144ae601083613b51565b91506144b982614478565b602082019050919050565b600060208201905081810360008301526144dd816144a1565b9050919050565b7f455243373231413a20676c6f62616c20696e646578206f7574206f6620626f7560008201527f6e64730000000000000000000000000000000000000000000000000000000000602082015250565b6000614540602383613b51565b915061454b826144e4565b604082019050919050565b6000602082019050818103600083015261456f81614533565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006145b082613bf8565b91506145bb83613bf8565b92508282019050808211156145d3576145d2614576565b5b92915050565b7f4e6f206d6f726520737570706c7920746f206265206d696e7465640000000000600082015250565b600061460f601b83613b51565b915061461a826145d9565b602082019050919050565b6000602082019050818103600083015261463e81614602565b9050919050565b7f526573657276656420537570706c79204d696e74656400000000000000000000600082015250565b600061467b601683613b51565b915061468682614645565b602082019050919050565b600060208201905081810360008301526146aa8161466e565b9050919050565b60006146bc82613bf8565b91506146c783613bf8565b92508282039050818111156146df576146de614576565b5b92915050565b7f596f7520646f206e6f74206f776e207468697320746f6b656e2e000000000000600082015250565b600061471b601a83613b51565b9150614726826146e5565b602082019050919050565b6000602082019050818103600083015261474a8161470e565b9050919050565b7f496e73756666696369656e742066656520746f20696e7363726962652074686960008201527f7320746f6b656e20746f206f7264696e616c204254432e000000000000000000602082015250565b60006147ad603783613b51565b91506147b882614751565b604082019050919050565b600060208201905081810360008301526147dc816147a0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f546f6b656e20646f6573206e6f74206578697374000000000000000000000000600082015250565b6000614848601483613b51565b915061485382614812565b602082019050919050565b600060208201905081810360008301526148778161483b565b9050919050565b600061488982613bf8565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036148bb576148ba614576565b5b600182019050919050565b7f4d696e74206973206e6f74206c69766520796574000000000000000000000000600082015250565b60006148fc601483613b51565b9150614907826148c6565b602082019050919050565b6000602082019050818103600083015261492b816148ef565b9050919050565b7f4e6f206d6f726500000000000000000000000000000000000000000000000000600082015250565b6000614968600783613b51565b915061497382614932565b602082019050919050565b600060208201905081810360008301526149978161495b565b9050919050565b7f4d61782070657220545820726561636865642e00000000000000000000000000600082015250565b60006149d4601383613b51565b91506149df8261499e565b602082019050919050565b60006020820190508181036000830152614a03816149c7565b9050919050565b6000614a1582613bf8565b9150614a2083613bf8565b9250828202614a2e81613bf8565b91508282048414831517614a4557614a44614576565b5b5092915050565b7f506c656173652073656e64207468652065786163742045544820616d6f756e74600082015250565b6000614a82602083613b51565b9150614a8d82614a4c565b602082019050919050565b60006020820190508181036000830152614ab181614a75565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614b1a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614add565b614b248683614add565b95508019841693508086168417925050509392505050565b6000614b57614b52614b4d84613bf8565b613da0565b613bf8565b9050919050565b6000819050919050565b614b7183614b3c565b614b85614b7d82614b5e565b848454614aea565b825550505050565b600090565b614b9a614b8d565b614ba5818484614b68565b505050565b5b81811015614bc957614bbe600082614b92565b600181019050614bab565b5050565b601f821115614c0e57614bdf81614ab8565b614be884614acd565b81016020851015614bf7578190505b614c0b614c0385614acd565b830182614baa565b50505b505050565b600082821c905092915050565b6000614c3160001984600802614c13565b1980831691505092915050565b6000614c4a8383614c20565b9150826002028217905092915050565b614c6382613b46565b67ffffffffffffffff811115614c7c57614c7b613efe565b5b614c868254614271565b614c91828285614bcd565b600060209050601f831160018114614cc45760008415614cb2578287015190505b614cbc8582614c3e565b865550614d24565b601f198416614cd286614ab8565b60005b82811015614cfa57848901518255600182019150602085019450602081019050614cd5565b86831015614d175784890151614d13601f891682614c20565b8355505b6001600288020188555050505b505050505050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614d88602f83613b51565b9150614d9382614d2c565b604082019050919050565b60006020820190508181036000830152614db781614d7b565b9050919050565b600081905092915050565b6000614dd482613b46565b614dde8185614dbe565b9350614dee818560208601613b62565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b6000614e30600583614dbe565b9150614e3b82614dfa565b600582019050919050565b6000614e528285614dc9565b9150614e5e8284614dc9565b9150614e6982614e23565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614ed1602683613b51565b9150614edc82614e75565b604082019050919050565b60006020820190508181036000830152614f0081614ec4565b9050919050565b6000604082019050614f1c6000830185613c8d565b614f296020830184613c8d565b9392505050565b600081519050614f3f81614072565b92915050565b600060208284031215614f5b57614f5a613a81565b5b6000614f6984828501614f30565b91505092915050565b7f455243373231413a20617070726f76616c20746f2063757272656e74206f776e60008201527f6572000000000000000000000000000000000000000000000000000000000000602082015250565b6000614fce602283613b51565b9150614fd982614f72565b604082019050919050565b60006020820190508181036000830152614ffd81614fc1565b9050919050565b7f455243373231413a20617070726f76652063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f76656420666f7220616c6c00000000000000602082015250565b6000615060603983613b51565b915061506b82615004565b604082019050919050565b6000602082019050818103600083015261508f81615053565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006150cc602083613b51565b91506150d782615096565b602082019050919050565b600060208201905081810360008301526150fb816150bf565b9050919050565b7f455243373231413a20617070726f766520746f2063616c6c6572000000000000600082015250565b6000615138601a83613b51565b915061514382615102565b602082019050919050565b600060208201905081810360008301526151678161512b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b60006151c48261519d565b6151ce81856151a8565b93506151de818560208601613b62565b6151e781613b8c565b840191505092915050565b60006080820190506152076000830187613c8d565b6152146020830186613c8d565b6152216040830185613d23565b818103606083015261523381846151b9565b905095945050505050565b60008151905061524d81613ab7565b92915050565b60006020828403121561526957615268613a81565b5b60006152778482850161523e565b9150509291505056fea264697066735822122088a2040ffbac4cbf7c04cb5e67b8f5bed4d7e46ac6874c233249ab047377890664736f6c63430008130033