60c06040526001600b5f6101000a81548160ff0219169083151502179055505f600b60016101000a81548160ff0219169083151502179055505f600b60026101000a81548160ff0219169083151502179055506001600f5f6101000a81548160ff021916908315150217905550348015610077575f80fd5b506040518060400160405280600d81526020017f53594e5448524f4e4958204149000000000000000000000000000000000000008152506040518060400160405280600a81526020017f53594e5448524f4e49580000000000000000000000000000000000000000000081525081600390816100f39190610d60565b5080600490816101039190610d60565b5050505f61011561062760201b60201c565b90508060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3505f737a250d5630b4cf539739df2c5dacb4c659f2488d90506101db81600161062e60201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610258573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061027c9190610e8d565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156102e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103059190610e8d565b6040518363ffffffff1660e01b8152600401610322929190610ec7565b6020604051808303815f875af115801561033e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103629190610e8d565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff16815250506103a860a051600161062e60201b60201c565b6103bb60a051600161072260201b60201c565b5f601e90505f805f602d90505f805f6103d86107c060201b60201c565b600a6103e49190611056565b620f42406103f291906110a0565b90506104026107c060201b60201c565b600a61040e9190611056565b611b5861041b91906110a0565b60088190555061042f6107c060201b60201c565b600a61043b9190611056565b611b5861044891906110a0565b600a81905550612710600a8261045e91906110a0565b610468919061110e565b600981905550866011819055508560128190555084601381905550601354601254601154610496919061113e565b6104a0919061113e565b6010819055508360158190555082601681905550816017819055506017546016546015546104ce919061113e565b6104d8919061113e565b60148190555073628a99c8c2cba9c5ccb5550e4be43e8f47e7d05e60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073628a99c8c2cba9c5ccb5550e4be43e8f47e7d05e60075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105a46105976107c860201b60201c565b60016107f060201b60201c565b6105b53060016107f060201b60201c565b6105c861dead60016107f060201b60201c565b6105e66105d96107c860201b60201c565b600161062e60201b60201c565b6105f730600161062e60201b60201c565b61060a61dead600161062e60201b60201c565b61061a338261093260201b60201c565b5050505050505050611314565b5f33905090565b61063c61062760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c1906111cb565b60405180910390fd5b80601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f6012905090565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6107fe61062760201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461088c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610883906111cb565b60405180910390fd5b80601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df7826040516109269190611203565b60405180910390a25050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099790611266565b60405180910390fd5b6109b15f8383610ac460201b60201c565b6109c681600254610ac960201b90919060201c565b600281905550610a1b815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610ac960201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610ab89190611293565b60405180910390a35050565b505050565b5f808284610ad7919061113e565b905083811015610b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b13906112f6565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610ba157607f821691505b602082108103610bb457610bb3610b5d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302610c167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610bdb565b610c208683610bdb565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f610c64610c5f610c5a84610c38565b610c41565b610c38565b9050919050565b5f819050919050565b610c7d83610c4a565b610c91610c8982610c6b565b848454610be7565b825550505050565b5f90565b610ca5610c99565b610cb0818484610c74565b505050565b5b81811015610cd357610cc85f82610c9d565b600181019050610cb6565b5050565b601f821115610d1857610ce981610bba565b610cf284610bcc565b81016020851015610d01578190505b610d15610d0d85610bcc565b830182610cb5565b50505b505050565b5f82821c905092915050565b5f610d385f1984600802610d1d565b1980831691505092915050565b5f610d508383610d29565b9150826002028217905092915050565b610d6982610b26565b67ffffffffffffffff811115610d8257610d81610b30565b5b610d8c8254610b8a565b610d97828285610cd7565b5f60209050601f831160018114610dc8575f8415610db6578287015190505b610dc08582610d45565b865550610e27565b601f198416610dd686610bba565b5f5b82811015610dfd57848901518255600182019150602085019450602081019050610dd8565b86831015610e1a5784890151610e16601f891682610d29565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610e5c82610e33565b9050919050565b610e6c81610e52565b8114610e76575f80fd5b50565b5f81519050610e8781610e63565b92915050565b5f60208284031215610ea257610ea1610e2f565b5b5f610eaf84828501610e79565b91505092915050565b610ec181610e52565b82525050565b5f604082019050610eda5f830185610eb8565b610ee76020830184610eb8565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115610f7057808604811115610f4c57610f4b610eee565b5b6001851615610f5b5780820291505b8081029050610f6985610f1b565b9450610f30565b94509492505050565b5f82610f885760019050611043565b81610f95575f9050611043565b8160018114610fab5760028114610fb557610fe4565b6001915050611043565b60ff841115610fc757610fc6610eee565b5b8360020a915084821115610fde57610fdd610eee565b5b50611043565b5060208310610133831016604e8410600b84101617156110195782820a90508381111561101457611013610eee565b5b611043565b6110268484846001610f27565b9250905081840481111561103d5761103c610eee565b5b81810290505b9392505050565b5f60ff82169050919050565b5f61106082610c38565b915061106b8361104a565b92506110987fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f79565b905092915050565b5f6110aa82610c38565b91506110b583610c38565b92508282026110c381610c38565b915082820484148315176110da576110d9610eee565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61111882610c38565b915061112383610c38565b925082611133576111326110e1565b5b828204905092915050565b5f61114882610c38565b915061115383610c38565b925082820190508082111561116b5761116a610eee565b5b92915050565b5f82825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6111b5602083611171565b91506111c082611181565b602082019050919050565b5f6020820190508181035f8301526111e2816111a9565b9050919050565b5f8115159050919050565b6111fd816111e9565b82525050565b5f6020820190506112165f8301846111f4565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f611250601f83611171565b915061125b8261121c565b602082019050919050565b5f6020820190508181035f83015261127d81611244565b9050919050565b61128d81610c38565b82525050565b5f6020820190506112a65f830184611284565b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6112e0601b83611171565b91506112eb826112ac565b602082019050919050565b5f6020820190508181035f83015261130d816112d4565b9050919050565b60805160a05161575e6113825f395f81816114bb0152818161175101528181611cf401528181612c140152818161358401526135ca01525f8181610e1401528181612bbc015281816136e3015281816137c2015281816137e901528181613f830152613faa015261575e5ff3fe608060405260043610610302575f3560e01c80638da5cb5b1161018f578063c8c8ebe4116100db578063e884f26011610094578063f63743421161006e578063f637434214610b87578063f8b45b0514610bb1578063fb002c9714610bdb578063fc8e53e814610c0557610309565b8063e884f26014610b0b578063f11a24d314610b35578063f2fde38b14610b5f57610309565b8063c8c8ebe4146109ed578063d257b34f14610a17578063d64c13bb14610a53578063d85ba06314610a7b578063dd62ed3e14610aa5578063e2f4560514610ae157610309565b8063a0d82dc511610148578063b62496f511610122578063b62496f514610935578063bbc0c74214610971578063c02466681461099b578063c876d0b9146109c357610309565b8063a0d82dc514610893578063a457c2d7146108bd578063a9059cbb146108f957610309565b80638da5cb5b1461079b578063924de9b7146107c557806395d89b41146107ed5780639a7a23d6146108175780639c3b4fdc1461083f5780639fccce321461086957610309565b806348b78c421161024e5780636ddd17131161020757806374c521a9116101e157806374c521a9146106f7578063751039fc146107335780637571336a1461075d5780638a8c523c1461078557610309565b80636ddd17131461067b57806370a08231146106a5578063715018a6146106e157610309565b806348b78c421461056f57806349bd5a5e146105975780634a62bb65146105c15780634e243db2146105eb5780634fbee193146106155780636a486a8e1461065157610309565b80631816467f116102bb57806330d5d18d1161029557806330d5d18d146104b9578063313ce567146104e1578063395093511461050b5780634324deae1461054757610309565b80631816467f1461042b5780631a8145bb1461045357806323b872dd1461047d57610309565b806302c991281461030d57806306fdde0314610335578063095ea7b31461035f57806310d5de531461039b5780631694505e146103d757806318160ddd1461040157610309565b3661030957005b5f80fd5b348015610318575f80fd5b50610333600480360381019061032e91906140ec565b610c2f565b005b348015610340575f80fd5b50610349610d48565b60405161035691906141ac565b60405180910390f35b34801561036a575f80fd5b5061038560048036038101906103809190614226565b610dd8565b604051610392919061427e565b60405180910390f35b3480156103a6575f80fd5b506103c160048036038101906103bc9190614297565b610df5565b6040516103ce919061427e565b60405180910390f35b3480156103e2575f80fd5b506103eb610e12565b6040516103f8919061431d565b60405180910390f35b34801561040c575f80fd5b50610415610e36565b6040516104229190614345565b60405180910390f35b348015610436575f80fd5b50610451600480360381019061044c9190614297565b610e3f565b005b34801561045e575f80fd5b50610467610f93565b6040516104749190614345565b60405180910390f35b348015610488575f80fd5b506104a3600480360381019061049e919061435e565b610f99565b6040516104b0919061427e565b60405180910390f35b3480156104c4575f80fd5b506104df60048036038101906104da9190614297565b61106d565b005b3480156104ec575f80fd5b506104f56111c1565b60405161050291906143c9565b60405180910390f35b348015610516575f80fd5b50610531600480360381019061052c9190614226565b6111c9565b60405161053e919061427e565b60405180910390f35b348015610552575f80fd5b5061056d600480360381019061056891906143e2565b611277565b005b34801561057a575f80fd5b50610595600480360381019061059091906140ec565b6113a0565b005b3480156105a2575f80fd5b506105ab6114b9565b6040516105b8919061441c565b60405180910390f35b3480156105cc575f80fd5b506105d56114dd565b6040516105e2919061427e565b60405180910390f35b3480156105f6575f80fd5b506105ff6114ef565b60405161060c9190614345565b60405180910390f35b348015610620575f80fd5b5061063b60048036038101906106369190614297565b6114f5565b604051610648919061427e565b60405180910390f35b34801561065c575f80fd5b50610665611547565b6040516106729190614345565b60405180910390f35b348015610686575f80fd5b5061068f61154d565b60405161069c919061427e565b60405180910390f35b3480156106b0575f80fd5b506106cb60048036038101906106c69190614297565b611560565b6040516106d89190614345565b60405180910390f35b3480156106ec575f80fd5b506106f56115a5565b005b348015610702575f80fd5b5061071d60048036038101906107189190614435565b6116f8565b60405161072a919061427e565b60405180910390f35b34801561073e575f80fd5b50610747611877565b604051610754919061427e565b60405180910390f35b348015610768575f80fd5b50610783600480360381019061077e919061449d565b61192e565b005b348015610790575f80fd5b50610799611a1c565b005b3480156107a6575f80fd5b506107af611af1565b6040516107bc919061441c565b60405180910390f35b3480156107d0575f80fd5b506107eb60048036038101906107e691906144db565b611b19565b005b3480156107f8575f80fd5b50610801611bcc565b60405161080e91906141ac565b60405180910390f35b348015610822575f80fd5b5061083d6004803603810190610838919061449d565b611c5c565b005b34801561084a575f80fd5b50610853611d8e565b6040516108609190614345565b60405180910390f35b348015610874575f80fd5b5061087d611d94565b60405161088a9190614345565b60405180910390f35b34801561089e575f80fd5b506108a7611d9a565b6040516108b49190614345565b60405180910390f35b3480156108c8575f80fd5b506108e360048036038101906108de9190614226565b611da0565b6040516108f0919061427e565b60405180910390f35b348015610904575f80fd5b5061091f600480360381019061091a9190614226565b611e68565b60405161092c919061427e565b60405180910390f35b348015610940575f80fd5b5061095b60048036038101906109569190614297565b611e85565b604051610968919061427e565b60405180910390f35b34801561097c575f80fd5b50610985611ea2565b604051610992919061427e565b60405180910390f35b3480156109a6575f80fd5b506109c160048036038101906109bc919061449d565b611eb5565b005b3480156109ce575f80fd5b506109d7611ff1565b6040516109e4919061427e565b60405180910390f35b3480156109f8575f80fd5b50610a01612003565b604051610a0e9190614345565b60405180910390f35b348015610a22575f80fd5b50610a3d6004803603810190610a3891906143e2565b612009565b604051610a4a919061427e565b60405180910390f35b348015610a5e575f80fd5b50610a796004803603810190610a7491906143e2565b612177565b005b348015610a86575f80fd5b50610a8f6122a0565b604051610a9c9190614345565b60405180910390f35b348015610ab0575f80fd5b50610acb6004803603810190610ac69190614506565b6122a6565b604051610ad89190614345565b60405180910390f35b348015610aec575f80fd5b50610af5612328565b604051610b029190614345565b60405180910390f35b348015610b16575f80fd5b50610b1f61232e565b604051610b2c919061427e565b60405180910390f35b348015610b40575f80fd5b50610b496123e5565b604051610b569190614345565b60405180910390f35b348015610b6a575f80fd5b50610b856004803603810190610b809190614297565b6123eb565b005b348015610b92575f80fd5b50610b9b6125ad565b604051610ba89190614345565b60405180910390f35b348015610bbc575f80fd5b50610bc56125b3565b604051610bd29190614345565b60405180910390f35b348015610be6575f80fd5b50610bef6125b9565b604051610bfc9190614345565b60405180910390f35b348015610c10575f80fd5b50610c196125bf565b604051610c269190614345565b60405180910390f35b610c376125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cc5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cbc9061458e565b60405180910390fd5b826011819055508160128190555080601381905550601354601254601154610ced91906145d9565b610cf791906145d9565b601081905550600f6010541115610d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3a90614656565b60405180910390fd5b505050565b606060038054610d57906146a1565b80601f0160208091040260200160405190810160405280929190818152602001828054610d83906146a1565b8015610dce5780601f10610da557610100808354040283529160200191610dce565b820191905f5260205f20905b815481529060010190602001808311610db157829003601f168201915b5050505050905090565b5f610deb610de46125c5565b84846125cc565b6001905092915050565b601d602052805f5260405f205f915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f600254905090565b610e476125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc9061458e565b60405180910390fd5b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f0db17895a9d092fb3ca24d626f2150dd80c185b0706b36f1040ee239f56cb87160405160405180910390a38060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60195481565b5f610fa584848461278f565b61106284610fb16125c5565b61105d856040518060600160405280602881526020016156dc6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6110146125c5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134c09092919063ffffffff16565b6125cc565b600190509392505050565b6110756125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611103576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fa9061458e565b60405180910390fd5b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f086aa05ff00214e2d0c7c02b8a46b2614ad955732e6b43aa8afca69ed1ad76f860405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f6012905090565b5f61126d6111d56125c5565b846112688560015f6111e56125c5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461352290919063ffffffff16565b6125cc565b6001905092915050565b61127f6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461130d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113049061458e565b60405180910390fd5b670de0b6b3a76400006103e86001611323610e36565b61132d91906146d1565b611337919061473f565b611341919061473f565b811015611383576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137a906147df565b60405180910390fd5b670de0b6b3a76400008161139791906146d1565b600a8190555050565b6113a86125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d9061458e565b60405180910390fd5b82601581905550816016819055508060178190555060175460165460155461145e91906145d9565b61146891906145d9565b601481905550606360145411156114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab90614847565b60405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600b5f9054906101000a900460ff1681565b60115481565b5f601c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60145481565b600b60029054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6115ad6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461163b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116329061458e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f601c5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661174b575f80fd5b5f6117757f0000000000000000000000000000000000000000000000000000000000000000611560565b9050600183118015611792575060648161178f919061473f565b83105b6117d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c8906148af565b60405180910390fd5b6117da8361357f565b6117e384613646565b5f60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051611829906148fa565b5f6040518083038185875af1925050503d805f8114611863576040519150601f19603f3d011682016040523d82523d5f602084013e611868565b606091505b50509050809250505092915050565b5f6118806125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461190e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119059061458e565b60405180910390fd5b5f600b5f6101000a81548160ff0219169083151502179055506001905090565b6119366125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb9061458e565b60405180910390fd5b80601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b611a246125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611ab2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aa99061458e565b60405180910390fd5b6001600b60016101000a81548160ff0219169083151502179055506001600b60026101000a81548160ff02191690831515021790555043601b81905550565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611b216125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba69061458e565b60405180910390fd5b80600b60026101000a81548160ff02191690831515021790555050565b606060048054611bdb906146a1565b80601f0160208091040260200160405190810160405280929190818152602001828054611c07906146a1565b8015611c525780601f10611c2957610100808354040283529160200191611c52565b820191905f5260205f20905b815481529060010190602001808311611c3557829003601f168201915b5050505050905090565b611c646125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ce99061458e565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611d80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d779061497e565b60405180910390fd5b611d8a8282613879565b5050565b60135481565b601a5481565b60175481565b5f611e5e611dac6125c5565b84611e59856040518060600160405280602581526020016157046025913960015f611dd56125c5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134c09092919063ffffffff16565b6125cc565b6001905092915050565b5f611e7b611e746125c5565b848461278f565b6001905092915050565b601e602052805f5260405f205f915054906101000a900460ff1681565b600b60019054906101000a900460ff1681565b611ebd6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f429061458e565b60405180910390fd5b80601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051611fe5919061427e565b60405180910390a25050565b600f5f9054906101000a900460ff1681565b60085481565b5f6120126125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120a0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120979061458e565b60405180910390fd5b620186a060016120ae610e36565b6120b891906146d1565b6120c2919061473f565b821015612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fb90614a0c565b60405180910390fd5b6103e86005612111610e36565b61211b91906146d1565b612125919061473f565b821115612167576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215e90614a9a565b60405180910390fd5b8160098190555060019050919050565b61217f6125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461220d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122049061458e565b60405180910390fd5b670de0b6b3a76400006103e86001612223610e36565b61222d91906146d1565b612237919061473f565b612241919061473f565b811015612283576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161227a90614b28565b60405180910390fd5b670de0b6b3a76400008161229791906146d1565b60088190555050565b60105481565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60095481565b5f6123376125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146123c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123bc9061458e565b60405180910390fd5b5f600f5f6101000a81548160ff0219169083151502179055506001905090565b60125481565b6123f36125c5565b73ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612481576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124789061458e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e690614bb6565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60165481565b600a5481565b60185481565b60155481565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361263a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161263190614c44565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161269f90614cd2565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127829190614345565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127f490614d60565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361286b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286290614dee565b60405180910390fd5b600e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156129095750600e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b612948576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293f90614e7c565b60405180910390fd5b5f810361295f5761295a83835f613917565b6134bb565b600b5f9054906101000a900460ff16156130075761297b611af1565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156129e957506129b9611af1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a2157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a5b575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612a745750600560149054906101000a900460ff16155b1561300657600b60019054906101000a900460ff16612b6857601c5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680612b285750601c5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b612b67576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5e90614ee4565b60405180910390fd5b5b600f5f9054906101000a900460ff1615612d2c57612b84611af1565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015612c0b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612c6357507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15612d2b5743600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541115612ce8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cdf90614f98565b60405180910390fd5b43600c5f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b5b601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612dc95750601d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612e7057600854811115612e13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0a90615026565b60405180910390fd5b600a54612e1f83611560565b82612e2a91906145d9565b1115612e6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e629061508e565b60405180910390fd5b613005565b601e5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168015612f0d5750601d5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15612f5c57600854811115612f57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f4e9061511c565b60405180910390fd5b613004565b601d5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661300357600a54612fb683611560565b82612fc191906145d9565b1115613002576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ff99061508e565b60405180910390fd5b5b5b5b5b5b5f61301130611560565b90505f60095482101590508080156130355750600b60029054906101000a900460ff165b801561304e5750600560149054906101000a900460ff16155b80156130a15750601e5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156130f45750601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156131475750601c5f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561318a576001600560146101000a81548160ff02191690831515021790555061316f613ba0565b5f600560146101000a81548160ff0219169083151502179055505b5f600560149054906101000a900460ff16159050601c5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806132395750601c5f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15613242575f90505b5f81156134ab57601e5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156132a057505f601454115b1561336a576132cd60646132bf60145488613e6f90919063ffffffff16565b613ee690919063ffffffff16565b9050601454601654826132e091906146d1565b6132ea919061473f565b60195f8282546132fa91906145d9565b925050819055506014546017548261331291906146d1565b61331c919061473f565b601a5f82825461332c91906145d9565b925050819055506014546015548261334491906146d1565b61334e919061473f565b60185f82825461335e91906145d9565b92505081905550613488565b601e5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156133c157505f601054115b15613487576133ee60646133e060105488613e6f90919063ffffffff16565b613ee690919063ffffffff16565b90506010546012548261340191906146d1565b61340b919061473f565b60195f82825461341b91906145d9565b925050819055506010546013548261343391906146d1565b61343d919061473f565b601a5f82825461344d91906145d9565b925050819055506010546011548261346591906146d1565b61346f919061473f565b60185f82825461347f91906145d9565b925050819055505b5b5f81111561349c5761349b873083613917565b5b80856134a8919061513a565b94505b6134b6878787613917565b505050505b505050565b5f838311158290613507576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134fe91906141ac565b60405180910390fd5b505f8385613515919061513a565b9050809150509392505050565b5f80828461353091906145d9565b905083811015613575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161356c906151b7565b60405180910390fd5b8091505092915050565b6135c87f0000000000000000000000000000000000000000000000000000000000000000306135ac6111c1565b600a6135b89190615304565b846135c391906146d1565b61278f565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561362d575f80fd5b505af115801561363f573d5f803e3d5ffd5b5050505050565b5f600267ffffffffffffffff8111156136625761366161534e565b5b6040519080825280602002602001820160405280156136905781602001602082028036833780820191505090505b50905030815f815181106136a7576136a661537b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561374a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061376e91906153bc565b816001815181106137825761378161537b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250506137e7307f0000000000000000000000000000000000000000000000000000000000000000846125cc565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b81526004016138489594939291906154d7565b5f604051808303815f87803b15801561385f575f80fd5b505af1158015613871573d5f803e3d5ffd5b505050505050565b80601e5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613985576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161397c90614d60565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036139f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139ea90614dee565b60405180910390fd5b6139fe838383613f2f565b613a67816040518060600160405280602681526020016156b6602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546134c09092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550613af6815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461352290919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613b939190614345565b60405180910390a3505050565b5f613baa30611560565b90505f601a54601854601954613bc091906145d9565b613bca91906145d9565b90505f80831480613bda57505f82145b15613be757505050613e6d565b6014600954613bf691906146d1565b831115613c0f576014600954613c0c91906146d1565b92505b5f60028360195486613c2191906146d1565b613c2b919061473f565b613c35919061473f565b90505f613c4b8286613f3490919063ffffffff16565b90505f479050613c5a82613646565b5f613c6e8247613f3490919063ffffffff16565b90505f613c9887613c8a60185485613e6f90919063ffffffff16565b613ee690919063ffffffff16565b90505f613cc288613cb4601a5486613e6f90919063ffffffff16565b613ee690919063ffffffff16565b90505f818385613cd2919061513a565b613cdc919061513a565b90505f6019819055505f6018819055505f601a8190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051613d38906148fa565b5f6040518083038185875af1925050503d805f8114613d72576040519150601f19603f3d011682016040523d82523d5f602084013e613d77565b606091505b5050809850505f87118015613d8b57505f81115b15613dd857613d9a8782613f7d565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618682601954604051613dcf9392919061552f565b60405180910390a15b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1647604051613e1d906148fa565b5f6040518083038185875af1925050503d805f8114613e57576040519150601f19603f3d011682016040523d82523d5f602084013e613e5c565b606091505b505080985050505050505050505050505b565b5f808303613e7f575f9050613ee0565b5f8284613e8c91906146d1565b9050828482613e9b919061473f565b14613edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613ed2906155d4565b60405180910390fd5b809150505b92915050565b5f613f2783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250614054565b905092915050565b505050565b5f613f7583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506134c0565b905092915050565b613fa8307f0000000000000000000000000000000000000000000000000000000000000000846125cc565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d7198230855f8030426040518863ffffffff1660e01b815260040161400c969594939291906155f2565b60606040518083038185885af1158015614028573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061404d9190615665565b5050505050565b5f808311829061409a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161409191906141ac565b60405180910390fd5b505f83856140a8919061473f565b9050809150509392505050565b5f80fd5b5f819050919050565b6140cb816140b9565b81146140d5575f80fd5b50565b5f813590506140e6816140c2565b92915050565b5f805f60608486031215614103576141026140b5565b5b5f614110868287016140d8565b9350506020614121868287016140d8565b9250506040614132868287016140d8565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61417e8261413c565b6141888185614146565b9350614198818560208601614156565b6141a181614164565b840191505092915050565b5f6020820190508181035f8301526141c48184614174565b905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6141f5826141cc565b9050919050565b614205816141eb565b811461420f575f80fd5b50565b5f81359050614220816141fc565b92915050565b5f806040838503121561423c5761423b6140b5565b5b5f61424985828601614212565b925050602061425a858286016140d8565b9150509250929050565b5f8115159050919050565b61427881614264565b82525050565b5f6020820190506142915f83018461426f565b92915050565b5f602082840312156142ac576142ab6140b5565b5b5f6142b984828501614212565b91505092915050565b5f819050919050565b5f6142e56142e06142db846141cc565b6142c2565b6141cc565b9050919050565b5f6142f6826142cb565b9050919050565b5f614307826142ec565b9050919050565b614317816142fd565b82525050565b5f6020820190506143305f83018461430e565b92915050565b61433f816140b9565b82525050565b5f6020820190506143585f830184614336565b92915050565b5f805f60608486031215614375576143746140b5565b5b5f61438286828701614212565b935050602061439386828701614212565b92505060406143a4868287016140d8565b9150509250925092565b5f60ff82169050919050565b6143c3816143ae565b82525050565b5f6020820190506143dc5f8301846143ba565b92915050565b5f602082840312156143f7576143f66140b5565b5b5f614404848285016140d8565b91505092915050565b614416816141eb565b82525050565b5f60208201905061442f5f83018461440d565b92915050565b5f806040838503121561444b5761444a6140b5565b5b5f614458858286016140d8565b9250506020614469858286016140d8565b9150509250929050565b61447c81614264565b8114614486575f80fd5b50565b5f8135905061449781614473565b92915050565b5f80604083850312156144b3576144b26140b5565b5b5f6144c085828601614212565b92505060206144d185828601614489565b9150509250929050565b5f602082840312156144f0576144ef6140b5565b5b5f6144fd84828501614489565b91505092915050565b5f806040838503121561451c5761451b6140b5565b5b5f61452985828601614212565b925050602061453a85828601614212565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f614578602083614146565b915061458382614544565b602082019050919050565b5f6020820190508181035f8301526145a58161456c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6145e3826140b9565b91506145ee836140b9565b9250828201905080821115614606576146056145ac565b5b92915050565b7f4d757374206b656570206665657320617420313525206f72206c6573730000005f82015250565b5f614640601d83614146565b915061464b8261460c565b602082019050919050565b5f6020820190508181035f83015261466d81614634565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806146b857607f821691505b6020821081036146cb576146ca614674565b5b50919050565b5f6146db826140b9565b91506146e6836140b9565b92508282026146f4816140b9565b9150828204841483151761470b5761470a6145ac565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f614749826140b9565b9150614754836140b9565b92508261476457614763614712565b5b828204905092915050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e205f8201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b5f6147c9602483614146565b91506147d48261476f565b604082019050919050565b5f6020820190508181035f8301526147f6816147bd565b9050919050565b7f4d757374206b656570206665657320617420393925206f72206c6573730000005f82015250565b5f614831601d83614146565b915061483c826147fd565b602082019050919050565b5f6020820190508181035f83015261485e81614825565b9050919050565b7f616d6f756e7420657863656564656400000000000000000000000000000000005f82015250565b5f614899600f83614146565b91506148a482614865565b602082019050919050565b5f6020820190508181035f8301526148c68161488d565b9050919050565b5f81905092915050565b50565b5f6148e55f836148cd565b91506148f0826148d7565b5f82019050919050565b5f614904826148da565b9150819050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d205f8201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b5f614968603983614146565b91506149738261490e565b604082019050919050565b5f6020820190508181035f8301526149958161495c565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e5f8201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b5f6149f6603583614146565b9150614a018261499c565b604082019050919050565b5f6020820190508181035f830152614a23816149ea565b9050919050565b7f5377617020616d6f756e742063616e6e6f7420626520686967686572207468615f8201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b5f614a84603483614146565b9150614a8f82614a2a565b604082019050919050565b5f6020820190508181035f830152614ab181614a78565b9050919050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e74205f8201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b5f614b12602f83614146565b9150614b1d82614ab8565b604082019050919050565b5f6020820190508181035f830152614b3f81614b06565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f614ba0602683614146565b9150614bab82614b46565b604082019050919050565b5f6020820190508181035f830152614bcd81614b94565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614c2e602483614146565b9150614c3982614bd4565b604082019050919050565b5f6020820190508181035f830152614c5b81614c22565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614cbc602283614146565b9150614cc782614c62565b604082019050919050565b5f6020820190508181035f830152614ce981614cb0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614d4a602583614146565b9150614d5582614cf0565b604082019050919050565b5f6020820190508181035f830152614d7781614d3e565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614dd8602383614146565b9150614de382614d7e565b604082019050919050565b5f6020820190508181035f830152614e0581614dcc565b9050919050565b7f596f752068617665206265656e20626c61636b6c69737465642066726f6d20745f8201527f72616e73666572696e6720746f6b656e73000000000000000000000000000000602082015250565b5f614e66603183614146565b9150614e7182614e0c565b604082019050919050565b5f6020820190508181035f830152614e9381614e5a565b9050919050565b7f54726164696e67206973206e6f74206163746976652e000000000000000000005f82015250565b5f614ece601683614146565b9150614ed982614e9a565b602082019050919050565b5f6020820190508181035f830152614efb81614ec2565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c5f8201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b5f614f82604983614146565b9150614f8d82614f02565b606082019050919050565b5f6020820190508181035f830152614faf81614f76565b9050919050565b7f427579207472616e7366657220616d6f756e74206578636565647320746865205f8201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b5f615010603583614146565b915061501b82614fb6565b604082019050919050565b5f6020820190508181035f83015261503d81615004565b9050919050565b7f4d61782077616c6c6574206578636565646564000000000000000000000000005f82015250565b5f615078601383614146565b915061508382615044565b602082019050919050565b5f6020820190508181035f8301526150a58161506c565b9050919050565b7f53656c6c207472616e7366657220616d6f756e742065786365656473207468655f8201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b5f615106603683614146565b9150615111826150ac565b604082019050919050565b5f6020820190508181035f830152615133816150fa565b9050919050565b5f615144826140b9565b915061514f836140b9565b9250828203905081811115615167576151666145ac565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6151a1601b83614146565b91506151ac8261516d565b602082019050919050565b5f6020820190508181035f8301526151ce81615195565b9050919050565b5f8160011c9050919050565b5f808291508390505b600185111561522a57808604811115615206576152056145ac565b5b60018516156152155780820291505b8081029050615223856151d5565b94506151ea565b94509492505050565b5f8261524257600190506152fd565b8161524f575f90506152fd565b8160018114615265576002811461526f5761529e565b60019150506152fd565b60ff841115615281576152806145ac565b5b8360020a915084821115615298576152976145ac565b5b506152fd565b5060208310610133831016604e8410600b84101617156152d35782820a9050838111156152ce576152cd6145ac565b5b6152fd565b6152e084848460016151e1565b925090508184048111156152f7576152f66145ac565b5b81810290505b9392505050565b5f61530e826140b9565b9150615319836143ae565b92506153467fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484615233565b905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506153b6816141fc565b92915050565b5f602082840312156153d1576153d06140b5565b5b5f6153de848285016153a8565b91505092915050565b5f819050919050565b5f61540a615405615400846153e7565b6142c2565b6140b9565b9050919050565b61541a816153f0565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b615452816141eb565b82525050565b5f6154638383615449565b60208301905092915050565b5f602082019050919050565b5f61548582615420565b61548f818561542a565b935061549a8361543a565b805f5b838110156154ca5781516154b18882615458565b97506154bc8361546f565b92505060018101905061549d565b5085935050505092915050565b5f60a0820190506154ea5f830188614336565b6154f76020830187615411565b8181036040830152615509818661547b565b9050615518606083018561440d565b6155256080830184614336565b9695505050505050565b5f6060820190506155425f830186614336565b61554f6020830185614336565b61555c6040830184614336565b949350505050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f6155be602183614146565b91506155c982615564565b604082019050919050565b5f6020820190508181035f8301526155eb816155b2565b9050919050565b5f60c0820190506156055f83018961440d565b6156126020830188614336565b61561f6040830187615411565b61562c6060830186615411565b615639608083018561440d565b61564660a0830184614336565b979650505050505050565b5f8151905061565f816140c2565b92915050565b5f805f6060848603121561567c5761567b6140b5565b5b5f61568986828701615651565b935050602061569a86828701615651565b92505060406156ab86828701615651565b915050925092509256fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122076377014d99561943155a61be57b288c52ffd6602e44e5c6660b819ba610786064736f6c634300081a0033