60806040525f600c5f6101000a81548160ff02191690831515021790555034801562000029575f80fd5b50604051620038563803806200385683398181016040528101906200004f91906200077e565b8989816003908162000062919062000ada565b50806004908162000074919062000ada565b505050620000976200008b620001c760201b60201c565b620001ce60201b60201c565b87600781905550856008819055508460098190555083600a8190555082600b8190555081600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550620001a45f801b336200029160201b60201c565b50620001b733886200038d60201b60201c565b5050505050505050505062000ccf565b5f33905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f620002a48383620004f260201b60201c565b6200038357600160065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506200031f620001c760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001905062000387565b5f90505b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620003fe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003f59062000c1c565b60405180910390fd5b620004115f83836200055660201b60201c565b8060025f82825462000424919062000c69565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620004d3919062000cb4565b60405180910390a3620004ee5f83836200055b60201b60201c565b5050565b5f60065f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b620005c18262000579565b810181811067ffffffffffffffff82111715620005e357620005e262000589565b5b80604052505050565b5f620005f762000560565b9050620006058282620005b6565b919050565b5f67ffffffffffffffff82111562000627576200062662000589565b5b620006328262000579565b9050602081019050919050565b5f5b838110156200065e57808201518184015260208101905062000641565b5f8484015250505050565b5f6200067f62000679846200060a565b620005ec565b9050828152602081018484840111156200069e576200069d62000575565b5b620006ab8482856200063f565b509392505050565b5f82601f830112620006ca57620006c962000571565b5b8151620006dc84826020860162000669565b91505092915050565b5f819050919050565b620006f981620006e5565b811462000704575f80fd5b50565b5f815190506200071781620006ee565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000748826200071d565b9050919050565b6200075a816200073c565b811462000765575f80fd5b50565b5f8151905062000778816200074f565b92915050565b5f805f805f805f805f806101408b8d031215620007a0576200079f62000569565b5b5f8b015167ffffffffffffffff811115620007c057620007bf6200056d565b5b620007ce8d828e01620006b3565b9a505060208b015167ffffffffffffffff811115620007f257620007f16200056d565b5b620008008d828e01620006b3565b9950506040620008138d828e0162000707565b9850506060620008268d828e0162000707565b9750506080620008398d828e0162000707565b96505060a06200084c8d828e0162000707565b95505060c06200085f8d828e0162000707565b94505060e0620008728d828e0162000707565b935050610100620008868d828e0162000768565b9250506101206200089a8d828e0162000768565b9150509295989b9194979a5092959850565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620008fb57607f821691505b602082108103620009115762000910620008b6565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620009757fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000938565b62000981868362000938565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620009c2620009bc620009b684620006e5565b62000999565b620006e5565b9050919050565b5f819050919050565b620009dd83620009a2565b620009f5620009ec82620009c9565b84845462000944565b825550505050565b5f90565b62000a0b620009fd565b62000a18818484620009d2565b505050565b5b8181101562000a3f5762000a335f8262000a01565b60018101905062000a1e565b5050565b601f82111562000a8e5762000a588162000917565b62000a638462000929565b8101602085101562000a73578190505b62000a8b62000a828562000929565b83018262000a1d565b50505b505050565b5f82821c905092915050565b5f62000ab05f198460080262000a93565b1980831691505092915050565b5f62000aca838362000a9f565b9150826002028217905092915050565b62000ae582620008ac565b67ffffffffffffffff81111562000b015762000b0062000589565b5b62000b0d8254620008e3565b62000b1a82828562000a43565b5f60209050601f83116001811462000b50575f841562000b3b578287015190505b62000b47858262000abd565b86555062000bb6565b601f19841662000b608662000917565b5f5b8281101562000b895784890151825560018201915060208501945060208101905062000b62565b8683101562000ba9578489015162000ba5601f89168262000a9f565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000c04601f8362000bbe565b915062000c118262000bce565b602082019050919050565b5f6020820190508181035f83015262000c358162000bf6565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000c7582620006e5565b915062000c8283620006e5565b925082820190508082111562000c9d5762000c9c62000c3c565b5b92915050565b62000cae81620006e5565b82525050565b5f60208201905062000cc95f83018462000ca3565b92915050565b612b798062000cdd5f395ff3fe608060405234801561000f575f80fd5b506004361061025c575f3560e01c806370a0823111610144578063a457c2d7116100c1578063cbecc3a311610085578063cbecc3a314610722578063d4f2d87814610740578063d4fbfdfc1461075c578063d547741f1461077a578063dd62ed3e14610796578063f2fde38b146107c65761025c565b8063a457c2d71461066e578063a9059cbb1461069e578063b7de6fb5146106ce578063b92ebd5f146106ea578063c0246668146107065761025c565b80638da5cb5b116101085780638da5cb5b146105c65780638ea5220f146105e457806391d148541461060257806395d89b4114610632578063a217fddf146106505761025c565b806370a0823114610534578063715018a61461056457806373a432bb1461056e57806375f0a8741461058a5780638a8c523c146105a85761025c565b806326991cc8116101dd57806340c10f19116101a157806340c10f19146104725780634c0f38c21461048e5780634fbee193146104ac5780635d098b38146104dc57806361e0c0f7146104f85780636c7e15c9146105165761025c565b806326991cc8146103ce5780632f2ff15d146103ec578063313ce5671461040857806336568abe1461042657806339509351146104425761025c565b806318160ddd1161022457806318160ddd146103165780631f53ac021461033457806322eb66311461035057806323b872dd1461036e578063248a9ca31461039e5761025c565b806301ffc9a71461026057806306fdde0314610290578063095ea7b3146102ae57806316fc22a6146102de57806317c06e74146102fa575b5f80fd5b61027a60048036038101906102759190611eaa565b6107e2565b6040516102879190611eef565b60405180910390f35b61029861085b565b6040516102a59190611f92565b60405180910390f35b6102c860048036038101906102c3919061203f565b6108eb565b6040516102d59190611eef565b60405180910390f35b6102f860048036038101906102f3919061207d565b61090d565b005b610314600480360381019061030f919061207d565b61091f565b005b61031e610931565b60405161032b91906120b7565b60405180910390f35b61034e600480360381019061034991906120d0565b61093a565b005b610358610986565b60405161036591906120b7565b60405180910390f35b610388600480360381019061038391906120fb565b61098c565b6040516103959190611eef565b60405180910390f35b6103b860048036038101906103b3919061217e565b6109ba565b6040516103c591906121b8565b60405180910390f35b6103d66109d7565b6040516103e391906121e0565b60405180910390f35b610406600480360381019061040191906121f9565b6109fc565b005b610410610a1e565b60405161041d9190612252565b60405180910390f35b610440600480360381019061043b91906121f9565b610a26565b005b61045c6004803603810190610457919061203f565b610aa1565b6040516104699190611eef565b60405180910390f35b61048c6004803603810190610487919061203f565b610ad7565b005b610496610b49565b6040516104a391906120b7565b60405180910390f35b6104c660048036038101906104c191906120d0565b610b52565b6040516104d39190611eef565b60405180910390f35b6104f660048036038101906104f191906120d0565b610ba4565b005b610500610bef565b60405161050d91906120b7565b60405180910390f35b61051e610bf5565b60405161052b91906120b7565b60405180910390f35b61054e600480360381019061054991906120d0565b610bfb565b60405161055b91906120b7565b60405180910390f35b61056c610c40565b005b610588600480360381019061058391906120d0565b610c53565b005b610592610c9e565b60405161059f91906121e0565b60405180910390f35b6105b0610cc3565b6040516105bd9190611eef565b60405180910390f35b6105ce610cd5565b6040516105db91906121e0565b60405180910390f35b6105ec610cfd565b6040516105f991906121e0565b60405180910390f35b61061c600480360381019061061791906121f9565b610d23565b6040516106299190611eef565b60405180910390f35b61063a610d87565b6040516106479190611f92565b60405180910390f35b610658610e17565b60405161066591906121b8565b60405180910390f35b6106886004803603810190610683919061203f565b610e1d565b6040516106959190611eef565b60405180910390f35b6106b860048036038101906106b3919061203f565b610e92565b6040516106c59190611eef565b60405180910390f35b6106e860048036038101906106e3919061207d565b610eb4565b005b61070460048036038101906106ff9190612295565b610ec6565b005b610720600480360381019061071b91906122c0565b610f4b565b005b61072a610fab565b60405161073791906121b8565b60405180910390f35b61075a6004803603810190610755919061207d565b610fcf565b005b610764610fe1565b60405161077191906120b7565b60405180910390f35b610794600480360381019061078f91906121f9565b610fe7565b005b6107b060048036038101906107ab91906122fe565b611009565b6040516107bd91906120b7565b60405180910390f35b6107e060048036038101906107db91906120d0565b61108b565b005b5f7f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061085457506108538261110d565b5b9050919050565b60606003805461086a90612369565b80601f016020809104026020016040519081016040528092919081815260200182805461089690612369565b80156108e15780601f106108b8576101008083540402835291602001916108e1565b820191905f5260205f20905b8154815290600101906020018083116108c457829003601f168201915b5050505050905090565b5f806108f5611176565b905061090281858561117d565b600191505092915050565b610915611340565b8060098190555050565b610927611340565b80600b8190555050565b5f600254905090565b610942611340565b80600c60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60095481565b5f80610996611176565b90506109a38582856113be565b6109ae858585611449565b60019150509392505050565b5f60065f8381526020019081526020015f20600101549050919050565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a05826109ba565b610a0e81611791565b610a1883836117a5565b50505050565b5f6012905090565b610a2e611176565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610a92576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a9c828261188f565b505050565b5f80610aab611176565b9050610acc818585610abd8589611009565b610ac791906123c6565b61117d565b600191505092915050565b610adf611340565b610ae7610b49565b81610af0610931565b610afa91906123c6565b1115610b3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3290612443565b60405180910390fd5b610b458282611979565b5050565b5f600754905090565b5f600f5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b610bac611340565b80600d5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600a5481565b60085481565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c48611340565b610c515f611ac7565b565b610c5b611340565b80600e5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5f9054906101000a900460ff1681565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60065f8481526020019081526020015f205f015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b606060048054610d9690612369565b80601f0160208091040260200160405190810160405280929190818152602001828054610dc290612369565b8015610e0d5780601f10610de457610100808354040283529160200191610e0d565b820191905f5260205f20905b815481529060010190602001808311610df057829003601f168201915b5050505050905090565b5f801b81565b5f80610e27611176565b90505f610e348286611009565b905083811015610e79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e70906124d1565b60405180910390fd5b610e86828686840361117d565b60019250505092915050565b5f80610e9c611176565b9050610ea9818585611449565b600191505092915050565b610ebc611340565b80600a8190555050565b610ef07f2b9e9fcf1077058349a26bfbb70bd80c02de96572c1cd15a8889441a0202720c33610d23565b610f2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2690612539565b60405180910390fd5b80600c5f6101000a81548160ff02191690831515021790555050565b610f53611340565b80600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b7f2b9e9fcf1077058349a26bfbb70bd80c02de96572c1cd15a8889441a0202720c81565b610fd7611340565b8060088190555050565b600b5481565b610ff0826109ba565b610ff981611791565b611003838361188f565b50505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611093611340565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611101576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f8906125c7565b60405180910390fd5b61110a81611ac7565b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e290612655565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611250906126e3565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161133391906120b7565b60405180910390a3505050565b611348611176565b73ffffffffffffffffffffffffffffffffffffffff16611366610cd5565b73ffffffffffffffffffffffffffffffffffffffff16146113bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b39061274b565b60405180910390fd5b565b5f6113c98484611009565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146114435781811015611435576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142c906127b3565b60405180910390fd5b611442848484840361117d565b5b50505050565b5f819050600f5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156114eb5750600f5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561178057600c5f9054906101000a900460ff1661153e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115359061281b565b60405180910390fd5b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156115a857505f600a546008546115a691906123c6565b115b15611660575f6064600854846115be9190612839565b6115c891906128a7565b90505f6064600a54856115db9190612839565b6115e591906128a7565b90508082856115f491906128d7565b6115fe91906128d7565b925061162d86600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b8a565b61165986600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611b8a565b505061177f565b600e5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156116ca57505f600b546009546116c891906123c6565b115b1561177e575f6064600954846116e09190612839565b6116ea91906128a7565b90505f6064600b54856116fd9190612839565b61170791906128a7565b905080828561171691906128d7565b61172091906128d7565b925061174f86600c60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611b8a565b61177b86600d5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611b8a565b50505b5b5b61178b848483611b8a565b50505050565b6117a28161179d611176565b611df6565b50565b5f6117b08383610d23565b61188557600160065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550611822611176565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a460019050611889565b5f90505b92915050565b5f61189a8383610d23565b1561196f575f60065f8581526020019081526020015f205f015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555061190c611176565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16847ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a460019050611973565b5f90505b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119de90612954565b60405180910390fd5b6119f25f8383611e47565b8060025f828254611a0391906123c6565b92505081905550805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ab091906120b7565b60405180910390a3611ac35f8383611e4c565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bf8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bef906129e2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5d90612a70565b60405180910390fd5b611c71838383611e47565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ceb90612afe565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611ddd91906120b7565b60405180910390a3611df0848484611e4c565b50505050565b611e008282610d23565b611e435780826040517fe2517d3f000000000000000000000000000000000000000000000000000000008152600401611e3a929190612b1c565b60405180910390fd5b5050565b505050565b505050565b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e8981611e55565b8114611e93575f80fd5b50565b5f81359050611ea481611e80565b92915050565b5f60208284031215611ebf57611ebe611e51565b5b5f611ecc84828501611e96565b91505092915050565b5f8115159050919050565b611ee981611ed5565b82525050565b5f602082019050611f025f830184611ee0565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611f3f578082015181840152602081019050611f24565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611f6482611f08565b611f6e8185611f12565b9350611f7e818560208601611f22565b611f8781611f4a565b840191505092915050565b5f6020820190508181035f830152611faa8184611f5a565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fdb82611fb2565b9050919050565b611feb81611fd1565b8114611ff5575f80fd5b50565b5f8135905061200681611fe2565b92915050565b5f819050919050565b61201e8161200c565b8114612028575f80fd5b50565b5f8135905061203981612015565b92915050565b5f806040838503121561205557612054611e51565b5b5f61206285828601611ff8565b92505060206120738582860161202b565b9150509250929050565b5f6020828403121561209257612091611e51565b5b5f61209f8482850161202b565b91505092915050565b6120b18161200c565b82525050565b5f6020820190506120ca5f8301846120a8565b92915050565b5f602082840312156120e5576120e4611e51565b5b5f6120f284828501611ff8565b91505092915050565b5f805f6060848603121561211257612111611e51565b5b5f61211f86828701611ff8565b935050602061213086828701611ff8565b92505060406121418682870161202b565b9150509250925092565b5f819050919050565b61215d8161214b565b8114612167575f80fd5b50565b5f8135905061217881612154565b92915050565b5f6020828403121561219357612192611e51565b5b5f6121a08482850161216a565b91505092915050565b6121b28161214b565b82525050565b5f6020820190506121cb5f8301846121a9565b92915050565b6121da81611fd1565b82525050565b5f6020820190506121f35f8301846121d1565b92915050565b5f806040838503121561220f5761220e611e51565b5b5f61221c8582860161216a565b925050602061222d85828601611ff8565b9150509250929050565b5f60ff82169050919050565b61224c81612237565b82525050565b5f6020820190506122655f830184612243565b92915050565b61227481611ed5565b811461227e575f80fd5b50565b5f8135905061228f8161226b565b92915050565b5f602082840312156122aa576122a9611e51565b5b5f6122b784828501612281565b91505092915050565b5f80604083850312156122d6576122d5611e51565b5b5f6122e385828601611ff8565b92505060206122f485828601612281565b9150509250929050565b5f806040838503121561231457612313611e51565b5b5f61232185828601611ff8565b925050602061233285828601611ff8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061238057607f821691505b6020821081036123935761239261233c565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6123d08261200c565b91506123db8361200c565b92508282019050808211156123f3576123f2612399565b5b92915050565b7f4d617820537570706c79204578636565646564000000000000000000000000005f82015250565b5f61242d601383611f12565b9150612438826123f9565b602082019050919050565b5f6020820190508181035f83015261245a81612421565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6124bb602583611f12565b91506124c682612461565b604082019050919050565b5f6020820190508181035f8301526124e8816124af565b9050919050565b7f43616c6c6572206973206e6f7420612074726164696e67206d616e61676572005f82015250565b5f612523601f83611f12565b915061252e826124ef565b602082019050919050565b5f6020820190508181035f83015261255081612517565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f6125b1602683611f12565b91506125bc82612557565b604082019050919050565b5f6020820190508181035f8301526125de816125a5565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61263f602483611f12565b915061264a826125e5565b604082019050919050565b5f6020820190508181035f83015261266c81612633565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126cd602283611f12565b91506126d882612673565b604082019050919050565b5f6020820190508181035f8301526126fa816126c1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612735602083611f12565b915061274082612701565b602082019050919050565b5f6020820190508181035f83015261276281612729565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f61279d601d83611f12565b91506127a882612769565b602082019050919050565b5f6020820190508181035f8301526127ca81612791565b9050919050565b7f54726164696e672069732044697361626c6564000000000000000000000000005f82015250565b5f612805601383611f12565b9150612810826127d1565b602082019050919050565b5f6020820190508181035f830152612832816127f9565b9050919050565b5f6128438261200c565b915061284e8361200c565b925082820261285c8161200c565b9150828204841483151761287357612872612399565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6128b18261200c565b91506128bc8361200c565b9250826128cc576128cb61287a565b5b828204905092915050565b5f6128e18261200c565b91506128ec8361200c565b925082820390508181111561290457612903612399565b5b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f61293e601f83611f12565b91506129498261290a565b602082019050919050565b5f6020820190508181035f83015261296b81612932565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6129cc602583611f12565b91506129d782612972565b604082019050919050565b5f6020820190508181035f8301526129f9816129c0565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612a5a602383611f12565b9150612a6582612a00565b604082019050919050565b5f6020820190508181035f830152612a8781612a4e565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f612ae8602683611f12565b9150612af382612a8e565b604082019050919050565b5f6020820190508181035f830152612b1581612adc565b9050919050565b5f604082019050612b2f5f8301856121d1565b612b3c60208301846121a9565b939250505056fea2646970667358221220d3a4fe6c7f40c850b3ac64ca5d8e31bfd6887a4ff50a3543c71742417bdbe81164736f6c634300081400330000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000d3c21bcecceda100000000000000000000000000000000000000000000000000003635c9adc5dea00000000000000000000000000000000000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000500000000000000000000000020fee153b13d8f0a83bd9b9c2b627f830ff957fb00000000000000000000000020fee153b13d8f0a83bd9b9c2b627f830ff957fb00000000000000000000000000000000000000000000000000000000000000036b6169000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016b00000000000000000000000000000000000000000000000000000000000000