608060405260405180602001604052806000815250600c90816200002491906200129f565b506706f05b59d3b20000600d556001600e60006101000a81548160ff0219169083151502179055506003600f5560c860105573b46540424571421cc1639c94967e5ef087757dbb601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000b857600080fd5b50733cc6cdda760b79bafa08df41ecfa224f810dceb660016040518060400160405280600e81526020017f486f7274757342617272697175650000000000000000000000000000000000008152506040518060400160405280600681526020017f486f72747573000000000000000000000000000000000000000000000000000081525081600090816200014d91906200129f565b5080600190816200015f91906200129f565b5050506200018262000176620004a360201b60201c565b620004ab60201b60201c565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115620003775780156200023d576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b815260040162000203929190620013cb565b600060405180830381600087803b1580156200021e57600080fd5b505af115801562000233573d6000803e3d6000fd5b5050505062000376565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614620002f7576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b8152600401620002bd929190620013cb565b600060405180830381600087803b158015620002d857600080fd5b505af1158015620002ed573d6000803e3d6000fd5b5050505062000375565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b8152600401620003409190620013f8565b600060405180830381600087803b1580156200035b57600080fd5b505af115801562000370573d6000803e3d6000fd5b505050505b5b5b505060126040518060400160405280601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016064815250908060018154018082558091505060019003906000526020600020906002020160009091909190915060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155505060005b60058110156200049c5762000486601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826200057160201b60201c565b8080620004939062001444565b91505062000448565b506200197a565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620005938282604051806020016040528060008152506200059760201b60201c565b5050565b620005a983836200060560201b60201c565b620005be60008484846200084b60201b60201c565b62000600576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005f79062001518565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000677576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200066e906200158a565b60405180910390fd5b6200068881620009f460201b60201c565b15620006cb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006c290620015fc565b60405180910390fd5b620006e160008383600162000a3d60201b60201c565b620006f281620009f460201b60201c565b1562000735576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200072c90620015fc565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46200084760008383600162000bd160201b60201c565b5050565b6000620008798473ffffffffffffffffffffffffffffffffffffffff1662000bd760201b620014fb1760201c565b15620009e7578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02620008ab620004a360201b60201c565b8786866040518563ffffffff1660e01b8152600401620008cf9493929190620016c9565b6020604051808303816000875af19250505080156200090e57506040513d601f19601f820116820180604052508101906200090b91906200177f565b60015b62000996573d806000811462000941576040519150601f19603f3d011682016040523d82523d6000602084013e62000946565b606091505b5060008151036200098e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009859062001518565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050620009ec565b600190505b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff1662000a1e8362000bfa60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b62000a568484848462000c3760201b6200151e1760201c565b600181111562000a9d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000a949062001827565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160362000aee5762000ae88162000c3d60201b60201c565b62000b36565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161462000b355762000b34858262000c8660201b60201c565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000b825762000b7c8162000e0360201b60201c565b62000bca565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161462000bc95762000bc8848262000edf60201b60201c565b5b5b5050505050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600162000ca08462000f6b60201b62000f0b1760201c565b62000cac919062001849565b905060006007600084815260200190815260200160002054905081811462000d92576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905062000e19919062001849565b905060006009600084815260200190815260200160002054905060006008838154811062000e4c5762000e4b62001884565b5b90600052602060002001549050806008838154811062000e715762000e7062001884565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548062000ec35762000ec2620018b3565b5b6001900381819060005260206000200160009055905550505050565b600062000ef78362000f6b60201b62000f0b1760201c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000fde576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000fd59062001958565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620010a757607f821691505b602082108103620010bd57620010bc6200105f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620011277fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620010e8565b620011338683620010e8565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620011806200117a62001174846200114b565b62001155565b6200114b565b9050919050565b6000819050919050565b6200119c836200115f565b620011b4620011ab8262001187565b848454620010f5565b825550505050565b600090565b620011cb620011bc565b620011d881848462001191565b505050565b5b818110156200120057620011f4600082620011c1565b600181019050620011de565b5050565b601f8211156200124f576200121981620010c3565b6200122484620010d8565b8101602085101562001234578190505b6200124c6200124385620010d8565b830182620011dd565b50505b505050565b600082821c905092915050565b6000620012746000198460080262001254565b1980831691505092915050565b60006200128f838362001261565b9150826002028217905092915050565b620012aa8262001025565b67ffffffffffffffff811115620012c657620012c562001030565b5b620012d282546200108e565b620012df82828562001204565b600060209050601f83116001811462001317576000841562001302578287015190505b6200130e858262001281565b8655506200137e565b601f1984166200132786620010c3565b60005b8281101562001351578489015182556001820191506020850194506020810190506200132a565b868310156200137157848901516200136d601f89168262001261565b8355505b6001600288020188555050505b505050505050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620013b38262001386565b9050919050565b620013c581620013a6565b82525050565b6000604082019050620013e26000830185620013ba565b620013f16020830184620013ba565b9392505050565b60006020820190506200140f6000830184620013ba565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062001451826200114b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820362001486576200148562001415565b5b600182019050919050565b600082825260208201905092915050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006200150060328362001491565b91506200150d82620014a2565b604082019050919050565b600060208201905081810360008301526200153381620014f1565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006200157260208362001491565b91506200157f826200153a565b602082019050919050565b60006020820190508181036000830152620015a58162001563565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000620015e4601c8362001491565b9150620015f182620015ac565b602082019050919050565b600060208201905081810360008301526200161781620015d5565b9050919050565b62001629816200114b565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b838110156200166b5780820151818401526020810190506200164e565b60008484015250505050565b6000601f19601f8301169050919050565b600062001695826200162f565b620016a181856200163a565b9350620016b38185602086016200164b565b620016be8162001677565b840191505092915050565b6000608082019050620016e06000830187620013ba565b620016ef6020830186620013ba565b620016fe60408301856200161e565b818103606083015262001712818462001688565b905095945050505050565b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b620017598162001722565b81146200176557600080fd5b50565b60008151905062001779816200174e565b92915050565b6000602082840312156200179857620017976200171d565b5b6000620017a88482850162001768565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006200180f60358362001491565b91506200181c82620017b1565b604082019050919050565b60006020820190508181036000830152620018428162001800565b9050919050565b600062001856826200114b565b915062001863836200114b565b92508282039050818111156200187e576200187d62001415565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006200194060298362001491565b91506200194d82620018e2565b604082019050919050565b60006020820190508181036000830152620019738162001931565b9050919050565b614f71806200198a6000396000f3fe60806040526004361061020f5760003560e01c80634f6ccce71161011857806398d5fdca116100a0578063b88d4fde1161006f578063b88d4fde14610795578063c87b56dd146107be578063d547741f146107fb578063e985e9c514610824578063f2fde38b146108615761020f565b806398d5fdca146106fa578063a0712d6814610725578063a217fddf14610741578063a22cb4651461076c5761020f565b8063715018a6116100e7578063715018a6146106275780638da5cb5b1461063e57806391b7f5ed1461066957806391d148541461069257806395d89b41146106cf5761020f565b80634f6ccce71461054757806355f804b3146105845780636352211e146105ad57806370a08231146105ea5761020f565b8063248a9ca31161019b5780633ccfd60b1161016a5780633ccfd60b1461048157806341f434341461048b57806342842e0e146104b6578063438b6300146104df57806347aa128a1461051c5761020f565b8063248a9ca3146103b55780632f2ff15d146103f25780632f745c591461041b57806336568abe146104585761020f565b8063095ea7b3116101e2578063095ea7b3146102e257806316c61ccc1461030b57806318160ddd1461033657806322f4596f1461036157806323b872dd1461038c5761020f565b806301ffc9a71461021457806302329a291461025157806306fdde031461027a578063081812fc146102a5575b600080fd5b34801561022057600080fd5b5061023b600480360381019061023691906132ff565b61088a565b6040516102489190613347565b60405180910390f35b34801561025d57600080fd5b506102786004803603810190610273919061338e565b61089c565b005b34801561028657600080fd5b5061028f6108c1565b60405161029c919061344b565b60405180910390f35b3480156102b157600080fd5b506102cc60048036038101906102c791906134a3565b610953565b6040516102d99190613511565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190613558565b610999565b005b34801561031757600080fd5b506103206109b2565b60405161032d9190613347565b60405180910390f35b34801561034257600080fd5b5061034b6109c5565b60405161035891906135a7565b60405180910390f35b34801561036d57600080fd5b506103766109d2565b60405161038391906135a7565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae91906135c2565b6109d8565b005b3480156103c157600080fd5b506103dc60048036038101906103d7919061364b565b610a27565b6040516103e99190613687565b60405180910390f35b3480156103fe57600080fd5b50610419600480360381019061041491906136a2565b610a47565b005b34801561042757600080fd5b50610442600480360381019061043d9190613558565b610a68565b60405161044f91906135a7565b60405180910390f35b34801561046457600080fd5b5061047f600480360381019061047a91906136a2565b610b0d565b005b610489610b90565b005b34801561049757600080fd5b506104a0610ce4565b6040516104ad9190613741565b60405180910390f35b3480156104c257600080fd5b506104dd60048036038101906104d891906135c2565b610cf6565b005b3480156104eb57600080fd5b506105066004803603810190610501919061375c565b610d45565b6040516105139190613847565b60405180910390f35b34801561052857600080fd5b50610531610df3565b60405161053e91906135a7565b60405180910390f35b34801561055357600080fd5b5061056e600480360381019061056991906134a3565b610df9565b60405161057b91906135a7565b60405180910390f35b34801561059057600080fd5b506105ab60048036038101906105a6919061399e565b610e6a565b005b3480156105b957600080fd5b506105d460048036038101906105cf91906134a3565b610e85565b6040516105e19190613511565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c919061375c565b610f0b565b60405161061e91906135a7565b60405180910390f35b34801561063357600080fd5b5061063c610fc2565b005b34801561064a57600080fd5b50610653610fd6565b6040516106609190613511565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b91906134a3565b611000565b005b34801561069e57600080fd5b506106b960048036038101906106b491906136a2565b611012565b6040516106c69190613347565b60405180910390f35b3480156106db57600080fd5b506106e461107d565b6040516106f1919061344b565b60405180910390f35b34801561070657600080fd5b5061070f61110f565b60405161071c91906135a7565b60405180910390f35b61073f600480360381019061073a91906134a3565b611119565b005b34801561074d57600080fd5b506107566112ea565b6040516107639190613687565b60405180910390f35b34801561077857600080fd5b50610793600480360381019061078e91906139e7565b6112f1565b005b3480156107a157600080fd5b506107bc60048036038101906107b79190613ac8565b61130a565b005b3480156107ca57600080fd5b506107e560048036038101906107e091906134a3565b61135b565b6040516107f2919061344b565b60405180910390f35b34801561080757600080fd5b50610822600480360381019061081d91906136a2565b6113c3565b005b34801561083057600080fd5b5061084b60048036038101906108469190613b4b565b6113e4565b6040516108589190613347565b60405180910390f35b34801561086d57600080fd5b506108886004803603810190610883919061375c565b611478565b005b600061089582611524565b9050919050565b6108a461159e565b80600e60006101000a81548160ff02191690831515021790555050565b6060600080546108d090613bba565b80601f01602080910402602001604051908101604052809291908181526020018280546108fc90613bba565b80156109495780601f1061091e57610100808354040283529160200191610949565b820191906000526020600020905b81548152906001019060200180831161092c57829003601f168201915b5050505050905090565b600061095e8261161c565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b816109a381611667565b6109ad8383611764565b505050565b600e60009054906101000a900460ff1681565b6000600880549050905090565b60105481565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a1657610a1533611667565b5b610a2184848461187b565b50505050565b6000600b6000838152602001908152602001600020600101549050919050565b610a5082610a27565b610a59816118db565b610a6383836118ef565b505050565b6000610a7383610f0b565b8210610ab4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aab90613c5d565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610b156119d0565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7990613cef565b60405180910390fd5b610b8c82826119d8565b5050565b610b9861159e565b60004711610ba557600080fd5b600047905060005b601280549050811015610ce057600060128281548110610bd057610bcf613d0f565b5b9060005260206000209060020201905060008160000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166064836001015486610c2f9190613d6d565b610c399190613dde565b604051610c4590613e40565b60006040518083038185875af1925050503d8060008114610c82576040519150601f19603f3d011682016040523d82523d6000602084013e610c87565b606091505b5050905080610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290613ea1565b60405180910390fd5b50508080610cd890613ec1565b915050610bad565b5050565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d3457610d3333611667565b5b610d3f848484611aba565b50505050565b60606000610d5283610f0b565b905060008167ffffffffffffffff811115610d7057610d6f613873565b5b604051908082528060200260200182016040528015610d9e5781602001602082028036833780820191505090505b50905060005b82811015610de857610db68582610a68565b828281518110610dc957610dc8613d0f565b5b6020026020010181815250508080610de090613ec1565b915050610da4565b508092505050919050565b600f5481565b6000610e036109c5565b8210610e44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3b90613f7b565b60405180910390fd5b60088281548110610e5857610e57613d0f565b5b90600052602060002001549050919050565b610e7261159e565b80600c9081610e81919061413d565b5050565b600080610e9183611ada565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f02576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef99061425b565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f72906142ed565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610fca61159e565b610fd46000611b17565b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61100861159e565b80600d8190555050565b6000600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606001805461108c90613bba565b80601f01602080910402602001604051908101604052809291908181526020018280546110b890613bba565b80156111055780601f106110da57610100808354040283529160200191611105565b820191906000526020600020905b8154815290600101906020018083116110e857829003601f168201915b5050505050905090565b6000600d54905090565b60006111236109c5565b9050600e60009054906101000a900460ff1615611175576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116c90614359565b60405180910390fd5b600f548211156111ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b1906143eb565b60405180910390fd5b60105482826111c9919061440b565b111561120a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112019061448b565b60405180910390fd5b600f548261121733610f0b565b611221919061440b565b1115611262576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611259906144f7565b60405180910390fd5b81600d546112709190613d6d565b3410156112b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112a990614563565b60405180910390fd5b60005b828110156112e5576112d23382846112cd919061440b565b611bdd565b80806112dd90613ec1565b9150506112b5565b505050565b6000801b81565b816112fb81611667565b6113058383611bfb565b505050565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113485761134733611667565b5b61135485858585611c11565b5050505050565b60606113668261161c565b6000611370611c73565b9050600081511161139057604051806020016040528060008152506113bb565b8061139a84611d05565b6040516020016113ab9291906145bf565b6040516020818303038152906040525b915050919050565b6113cc82610a27565b6113d5816118db565b6113df83836119d8565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61148061159e565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036114ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e690614655565b60405180910390fd5b6114f881611b17565b50565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611597575061159682611dd3565b5b9050919050565b6115a66119d0565b73ffffffffffffffffffffffffffffffffffffffff166115c4610fd6565b73ffffffffffffffffffffffffffffffffffffffff161461161a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611611906146c1565b60405180910390fd5b565b61162581611e4d565b611664576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165b9061425b565b60405180910390fd5b50565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115611761576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b81526004016116de9291906146e1565b602060405180830381865afa1580156116fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171f919061471f565b61176057806040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016117579190613511565b60405180910390fd5b5b50565b600061176f82610e85565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036117df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d6906147be565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166117fe6119d0565b73ffffffffffffffffffffffffffffffffffffffff16148061182d575061182c816118276119d0565b6113e4565b5b61186c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186390614850565b60405180910390fd5b6118768383611e8e565b505050565b61188c6118866119d0565b82611f47565b6118cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118c2906148e2565b60405180910390fd5b6118d6838383611fdc565b505050565b6118ec816118e76119d0565b6122d5565b50565b6118f98282611012565b6119cc576001600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506119716119d0565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600033905090565b6119e28282611012565b15611ab6576000600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611a5b6119d0565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611ad58383836040518060200160405280600081525061130a565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611bf782826040518060200160405280600081525061235a565b5050565b611c0d611c066119d0565b83836123b5565b5050565b611c22611c1c6119d0565b83611f47565b611c61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c58906148e2565b60405180910390fd5b611c6d84848484612521565b50505050565b6060600c8054611c8290613bba565b80601f0160208091040260200160405190810160405280929190818152602001828054611cae90613bba565b8015611cfb5780601f10611cd057610100808354040283529160200191611cfb565b820191906000526020600020905b815481529060010190602001808311611cde57829003601f168201915b5050505050905090565b606060006001611d148461257d565b01905060008167ffffffffffffffff811115611d3357611d32613873565b5b6040519080825280601f01601f191660200182016040528015611d655781602001600182028036833780820191505090505b509050600082602001820190505b600115611dc8578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611dbc57611dbb613daf565b5b04945060008503611d73575b819350505050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611e465750611e45826126d0565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff16611e6f83611ada565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611f0183610e85565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611f5383610e85565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611f955750611f9481856113e4565b5b80611fd357508373ffffffffffffffffffffffffffffffffffffffff16611fbb84610953565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611ffc82610e85565b73ffffffffffffffffffffffffffffffffffffffff1614612052576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161204990614974565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b890614a06565b60405180910390fd5b6120ce83838360016127b2565b8273ffffffffffffffffffffffffffffffffffffffff166120ee82610e85565b73ffffffffffffffffffffffffffffffffffffffff1614612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b90614974565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46122d08383836001612910565b505050565b6122df8282611012565b612356576122ec81612916565b6122fa8360001c6020612943565b60405160200161230b929190614abe565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161234d919061344b565b60405180910390fd5b5050565b6123648383612b7f565b6123716000848484612d9c565b6123b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a790614b6a565b60405180910390fd5b505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612423576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161241a90614bd6565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516125149190613347565b60405180910390a3505050565b61252c848484611fdc565b61253884848484612d9c565b612577576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256e90614b6a565b60405180910390fd5b50505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083106125db577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816125d1576125d0613daf565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612618576d04ee2d6d415b85acef8100000000838161260e5761260d613daf565b5b0492506020810190505b662386f26fc10000831061264757662386f26fc10000838161263d5761263c613daf565b5b0492506010810190505b6305f5e1008310612670576305f5e100838161266657612665613daf565b5b0492506008810190505b612710831061269557612710838161268b5761268a613daf565b5b0492506004810190505b606483106126b857606483816126ae576126ad613daf565b5b0492506002810190505b600a83106126c7576001810190505b80915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061279b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806127ab57506127aa82612f23565b5b9050919050565b6127be8484848461151e565b6001811115612802576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f990614c68565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036128495761284481612f8d565b612888565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612887576128868582612fd6565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036128ca576128c581613143565b612909565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612908576129078482613214565b5b5b5050505050565b50505050565b606061293c8273ffffffffffffffffffffffffffffffffffffffff16601460ff16612943565b9050919050565b6060600060028360026129569190613d6d565b612960919061440b565b67ffffffffffffffff81111561297957612978613873565b5b6040519080825280601f01601f1916602001820160405280156129ab5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106129e3576129e2613d0f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612a4757612a46613d0f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612a879190613d6d565b612a91919061440b565b90505b6001811115612b31577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612ad357612ad2613d0f565b5b1a60f81b828281518110612aea57612ae9613d0f565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612b2a90614c88565b9050612a94565b5060008414612b75576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6c90614cfd565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be590614d69565b60405180910390fd5b612bf781611e4d565b15612c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c2e90614dd5565b60405180910390fd5b612c456000838360016127b2565b612c4e81611e4d565b15612c8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c8590614dd5565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612d98600083836001612910565b5050565b6000612dbd8473ffffffffffffffffffffffffffffffffffffffff166114fb565b15612f16578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612de66119d0565b8786866040518563ffffffff1660e01b8152600401612e089493929190614e4a565b6020604051808303816000875af1925050508015612e4457506040513d601f19601f82011682018060405250810190612e419190614eab565b60015b612ec6573d8060008114612e74576040519150601f19603f3d011682016040523d82523d6000602084013e612e79565b606091505b506000815103612ebe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612eb590614b6a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612f1b565b600190505b949350505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612fe384610f0b565b612fed9190614ed8565b90506000600760008481526020019081526020016000205490508181146130d2576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506131579190614ed8565b905060006009600084815260200190815260200160002054905060006008838154811061318757613186613d0f565b5b9060005260206000200154905080600883815481106131a9576131a8613d0f565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806131f8576131f7614f0c565b5b6001900381819060005260206000200160009055905550505050565b600061321f83610f0b565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6132dc816132a7565b81146132e757600080fd5b50565b6000813590506132f9816132d3565b92915050565b6000602082840312156133155761331461329d565b5b6000613323848285016132ea565b91505092915050565b60008115159050919050565b6133418161332c565b82525050565b600060208201905061335c6000830184613338565b92915050565b61336b8161332c565b811461337657600080fd5b50565b60008135905061338881613362565b92915050565b6000602082840312156133a4576133a361329d565b5b60006133b284828501613379565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133f55780820151818401526020810190506133da565b60008484015250505050565b6000601f19601f8301169050919050565b600061341d826133bb565b61342781856133c6565b93506134378185602086016133d7565b61344081613401565b840191505092915050565b600060208201905081810360008301526134658184613412565b905092915050565b6000819050919050565b6134808161346d565b811461348b57600080fd5b50565b60008135905061349d81613477565b92915050565b6000602082840312156134b9576134b861329d565b5b60006134c78482850161348e565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134fb826134d0565b9050919050565b61350b816134f0565b82525050565b60006020820190506135266000830184613502565b92915050565b613535816134f0565b811461354057600080fd5b50565b6000813590506135528161352c565b92915050565b6000806040838503121561356f5761356e61329d565b5b600061357d85828601613543565b925050602061358e8582860161348e565b9150509250929050565b6135a18161346d565b82525050565b60006020820190506135bc6000830184613598565b92915050565b6000806000606084860312156135db576135da61329d565b5b60006135e986828701613543565b93505060206135fa86828701613543565b925050604061360b8682870161348e565b9150509250925092565b6000819050919050565b61362881613615565b811461363357600080fd5b50565b6000813590506136458161361f565b92915050565b6000602082840312156136615761366061329d565b5b600061366f84828501613636565b91505092915050565b61368181613615565b82525050565b600060208201905061369c6000830184613678565b92915050565b600080604083850312156136b9576136b861329d565b5b60006136c785828601613636565b92505060206136d885828601613543565b9150509250929050565b6000819050919050565b60006137076137026136fd846134d0565b6136e2565b6134d0565b9050919050565b6000613719826136ec565b9050919050565b600061372b8261370e565b9050919050565b61373b81613720565b82525050565b60006020820190506137566000830184613732565b92915050565b6000602082840312156137725761377161329d565b5b600061378084828501613543565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137be8161346d565b82525050565b60006137d083836137b5565b60208301905092915050565b6000602082019050919050565b60006137f482613789565b6137fe8185613794565b9350613809836137a5565b8060005b8381101561383a57815161382188826137c4565b975061382c836137dc565b92505060018101905061380d565b5085935050505092915050565b6000602082019050818103600083015261386181846137e9565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6138ab82613401565b810181811067ffffffffffffffff821117156138ca576138c9613873565b5b80604052505050565b60006138dd613293565b90506138e982826138a2565b919050565b600067ffffffffffffffff82111561390957613908613873565b5b61391282613401565b9050602081019050919050565b82818337600083830152505050565b600061394161393c846138ee565b6138d3565b90508281526020810184848401111561395d5761395c61386e565b5b61396884828561391f565b509392505050565b600082601f83011261398557613984613869565b5b813561399584826020860161392e565b91505092915050565b6000602082840312156139b4576139b361329d565b5b600082013567ffffffffffffffff8111156139d2576139d16132a2565b5b6139de84828501613970565b91505092915050565b600080604083850312156139fe576139fd61329d565b5b6000613a0c85828601613543565b9250506020613a1d85828601613379565b9150509250929050565b600067ffffffffffffffff821115613a4257613a41613873565b5b613a4b82613401565b9050602081019050919050565b6000613a6b613a6684613a27565b6138d3565b905082815260208101848484011115613a8757613a8661386e565b5b613a9284828561391f565b509392505050565b600082601f830112613aaf57613aae613869565b5b8135613abf848260208601613a58565b91505092915050565b60008060008060808587031215613ae257613ae161329d565b5b6000613af087828801613543565b9450506020613b0187828801613543565b9350506040613b128782880161348e565b925050606085013567ffffffffffffffff811115613b3357613b326132a2565b5b613b3f87828801613a9a565b91505092959194509250565b60008060408385031215613b6257613b6161329d565b5b6000613b7085828601613543565b9250506020613b8185828601613543565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613bd257607f821691505b602082108103613be557613be4613b8b565b5b50919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613c47602b836133c6565b9150613c5282613beb565b604082019050919050565b60006020820190508181036000830152613c7681613c3a565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613cd9602f836133c6565b9150613ce482613c7d565b604082019050919050565b60006020820190508181036000830152613d0881613ccc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613d788261346d565b9150613d838361346d565b9250828202613d918161346d565b91508282048414831517613da857613da7613d3e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613de98261346d565b9150613df48361346d565b925082613e0457613e03613daf565b5b828204905092915050565b600081905092915050565b50565b6000613e2a600083613e0f565b9150613e3582613e1a565b600082019050919050565b6000613e4b82613e1d565b9150819050919050565b7f5769746864726177206661696c65640000000000000000000000000000000000600082015250565b6000613e8b600f836133c6565b9150613e9682613e55565b602082019050919050565b60006020820190508181036000830152613eba81613e7e565b9050919050565b6000613ecc8261346d565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613efe57613efd613d3e565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613f65602c836133c6565b9150613f7082613f09565b604082019050919050565b60006020820190508181036000830152613f9481613f58565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302613ffd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613fc0565b6140078683613fc0565b95508019841693508086168417925050509392505050565b600061403a6140356140308461346d565b6136e2565b61346d565b9050919050565b6000819050919050565b6140548361401f565b61406861406082614041565b848454613fcd565b825550505050565b600090565b61407d614070565b61408881848461404b565b505050565b5b818110156140ac576140a1600082614075565b60018101905061408e565b5050565b601f8211156140f1576140c281613f9b565b6140cb84613fb0565b810160208510156140da578190505b6140ee6140e685613fb0565b83018261408d565b50505b505050565b600082821c905092915050565b6000614114600019846008026140f6565b1980831691505092915050565b600061412d8383614103565b9150826002028217905092915050565b614146826133bb565b67ffffffffffffffff81111561415f5761415e613873565b5b6141698254613bba565b6141748282856140b0565b600060209050601f8311600181146141a75760008415614195578287015190505b61419f8582614121565b865550614207565b601f1984166141b586613f9b565b60005b828110156141dd578489015182556001820191506020850194506020810190506141b8565b868310156141fa57848901516141f6601f891682614103565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006142456018836133c6565b91506142508261420f565b602082019050919050565b6000602082019050818103600083015261427481614238565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006142d76029836133c6565b91506142e28261427b565b604082019050919050565b60006020820190508181036000830152614306816142ca565b9050919050565b7f4d696e74696e6720706175736564000000000000000000000000000000000000600082015250565b6000614343600e836133c6565b915061434e8261430d565b602082019050919050565b6000602082019050818103600083015261437281614336565b9050919050565b7f596f752063616e206d696e742061206d6178696d756d206f662031204e46542060008201527f6174207468652074696d65000000000000000000000000000000000000000000602082015250565b60006143d5602b836133c6565b91506143e082614379565b604082019050919050565b60006020820190508181036000830152614404816143c8565b9050919050565b60006144168261346d565b91506144218361346d565b925082820190508082111561443957614438613d3e565b5b92915050565b7f45786365656473206d6178696d756d204e465420737570706c79000000000000600082015250565b6000614475601a836133c6565b91506144808261443f565b602082019050919050565b600060208201905081810360008301526144a481614468565b9050919050565b7f45786365656473206d6178696d756d204e465473207065722077616c6c657400600082015250565b60006144e1601f836133c6565b91506144ec826144ab565b602082019050919050565b60006020820190508181036000830152614510816144d4565b9050919050565b7f45746865722073656e74206973206e6f7420636f727265637400000000000000600082015250565b600061454d6019836133c6565b915061455882614517565b602082019050919050565b6000602082019050818103600083015261457c81614540565b9050919050565b600081905092915050565b6000614599826133bb565b6145a38185614583565b93506145b38185602086016133d7565b80840191505092915050565b60006145cb828561458e565b91506145d7828461458e565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061463f6026836133c6565b915061464a826145e3565b604082019050919050565b6000602082019050818103600083015261466e81614632565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006146ab6020836133c6565b91506146b682614675565b602082019050919050565b600060208201905081810360008301526146da8161469e565b9050919050565b60006040820190506146f66000830185613502565b6147036020830184613502565b9392505050565b60008151905061471981613362565b92915050565b6000602082840312156147355761473461329d565b5b60006147438482850161470a565b91505092915050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006147a86021836133c6565b91506147b38261474c565b604082019050919050565b600060208201905081810360008301526147d78161479b565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061483a603d836133c6565b9150614845826147de565b604082019050919050565b600060208201905081810360008301526148698161482d565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006148cc602d836133c6565b91506148d782614870565b604082019050919050565b600060208201905081810360008301526148fb816148bf565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b600061495e6025836133c6565b915061496982614902565b604082019050919050565b6000602082019050818103600083015261498d81614951565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006149f06024836133c6565b91506149fb82614994565b604082019050919050565b60006020820190508181036000830152614a1f816149e3565b9050919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614a5c601783614583565b9150614a6782614a26565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000614aa8601183614583565b9150614ab382614a72565b601182019050919050565b6000614ac982614a4f565b9150614ad5828561458e565b9150614ae082614a9b565b9150614aec828461458e565b91508190509392505050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614b546032836133c6565b9150614b5f82614af8565b604082019050919050565b60006020820190508181036000830152614b8381614b47565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614bc06019836133c6565b9150614bcb82614b8a565b602082019050919050565b60006020820190508181036000830152614bef81614bb3565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614c526035836133c6565b9150614c5d82614bf6565b604082019050919050565b60006020820190508181036000830152614c8181614c45565b9050919050565b6000614c938261346d565b915060008203614ca657614ca5613d3e565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614ce76020836133c6565b9150614cf282614cb1565b602082019050919050565b60006020820190508181036000830152614d1681614cda565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614d536020836133c6565b9150614d5e82614d1d565b602082019050919050565b60006020820190508181036000830152614d8281614d46565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614dbf601c836133c6565b9150614dca82614d89565b602082019050919050565b60006020820190508181036000830152614dee81614db2565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614e1c82614df5565b614e268185614e00565b9350614e368185602086016133d7565b614e3f81613401565b840191505092915050565b6000608082019050614e5f6000830187613502565b614e6c6020830186613502565b614e796040830185613598565b8181036060830152614e8b8184614e11565b905095945050505050565b600081519050614ea5816132d3565b92915050565b600060208284031215614ec157614ec061329d565b5b6000614ecf84828501614e96565b91505092915050565b6000614ee38261346d565b9150614eee8361346d565b9250828203905081811115614f0657614f05613d3e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122073dc209cb57ea49b469192ebf7ad86a0c824b547e8511ec73e409e4c7bc14c4f64736f6c63430008120033