0x64e0308772016206489914de6e2f5c31193af7811fd6ae0778179dfb5ce9bbe8e88f3160000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000039fb6080604052348015600e575f5ffd5b506139df8061001c5f395ff3fe60806040526004361061016d575f3560e01c8063837ab668116100c6578063ac9650d81161007c578063df0c783811610057578063df0c783814610316578063dfdaf5281461040d578063f781e3ae14610439575f5ffd5b8063ac9650d8146103ba578063c278dba3146103da578063ccbe1ed2146103f9575f5ffd5b806394ac753e116100ac57806394ac753e14610368578063a21abed81461037c578063a26327ff1461039b575f5ffd5b8063837ab6681461032a57806390c302e714610349575f5ffd5b8063505e570a1161012657806360ff37bc1161010157806360ff37bc146102cb5780636abf7826146102f75780637b7e260514610316575f5ffd5b8063505e570a1461024b57806351c39604146102775780635840b0f81461029f575f5ffd5b80632cc4dcb6116101565780632cc4dcb6146101cf57806347d02b81146101ee57806349f83b1f1461021c575f5ffd5b80630d499331146101715780631adb75ac146101a3575b5f5ffd5b34801561017c575f5ffd5b5061019061018b366004612d98565b610465565b6040519081526020015b60405180910390f35b3480156101ae575f5ffd5b506101c26101bd366004612e49565b6104a5565b60405161019a9190612fc2565b3480156101da575f5ffd5b506101906101e93660046130cb565b610731565b3480156101f9575f5ffd5b5061020d610208366004613130565b61080a565b60405161019a93929190613208565b348015610227575f5ffd5b5061023b610236366004613232565b6109ea565b60405161019a94939291906132de565b348015610256575f5ffd5b5061026a610265366004613302565b610c72565b60405161019a9190613363565b348015610282575f5ffd5b5061028a5f81565b60405163ffffffff909116815260200161019a565b3480156102aa575f5ffd5b506102be6102b9366004613302565b610e10565b60405161019a9190613375565b3480156102d6575f5ffd5b506102ea6102e5366004613232565b610ecd565b60405161019a9190613387565b348015610302575f5ffd5b506102be610311366004613232565b610edc565b348015610321575f5ffd5b50610190602081565b348015610335575f5ffd5b50610190610344366004613399565b610eff565b348015610354575f5ffd5b50610190610363366004613427565b610fb7565b348015610373575f5ffd5b50610190610ff5565b348015610387575f5ffd5b506102be610396366004613232565b611024565b3480156103a6575f5ffd5b506101906103b5366004613486565b611047565b6103cd6103c8366004612e49565b61111c565b60405161019a91906134f6565b3480156103e5575f5ffd5b506101906103f436600461354d565b611140565b348015610404575f5ffd5b50610190611191565b348015610418575f5ffd5b5061042c610427366004612e49565b6111b8565b60405161019a9190613580565b348015610444575f5ffd5b50610458610453366004613302565b6113f4565b60405161019a91906135d7565b5f61049c8560405180608001604052805f81526020015f81526020018860600135815260200188608001358152505f878787610eff565b95945050505050565b6060818067ffffffffffffffff8111156104c1576104c1613025565b60405190808252806020026020018201604052801561055057816020015b60408051610180810182525f808252602080830182905292820181905260608083018290526080830182905260a0830182905260c0830182905260e083018290526101008301829052610120830182905261014083019190915261016082015282525f199092019101816104df5790505b5091507f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d4015f5b8281101561072857815f878784818110610592576105926135e9565b63ffffffff6020918202939093013583168452838101949094525060409182015f20825161018081018452815460ff80821683526101008083049091169683019690965261ffff6201000082048116958301959095526401000000008104851660608301526601000000000000810485166080830152680100000000000000008104851660a08301526a01000000000000000000008104851660c0830152600160601b810490941660e0820152600160701b8404831694810194909452600160901b83048216610120850152600160b01b9092041661014083015260018101805461016084019190610683906135fd565b80601f01602080910402602001604051908101604052809291908181526020018280546106af906135fd565b80156106fa5780601f106106d1576101008083540402835291602001916106fa565b820191905f5260205f20905b8154815290600101906020018083116106dd57829003601f168201915b505050505081525050848281518110610715576107156135e9565b6020908102919091010152600101610576565b50505092915050565b5f61074b8585886060013589608001358a60400135611566565b6107d38660400135865f015187604001516107669190613643565b8760200151886060015161077a9190613643565b6107c17f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d4006107a789611626565b63ffffffff165f9081526002919091016020526040902090565b80546107cc906135fd565b905061165b565b5f82116107f357604051632b4582a560e01b815260040160405180910390fd5b6108008686868686611706565b9695505050505050565b5f60608061083861081b8980613656565b61082b60408c0160208d01613699565b6103b560408d018d613656565b9250858067ffffffffffffffff81111561085457610854613025565b60405190808252806020026020018201604052801561087d578160200160208202803683370190505b5092505f5b8181101561090e573689898381811061089d5761089d6135e9565b90506020028101906108af91906136b2565b90506108e86108be82806136d0565b6108d0368490038401602085016136e4565b60a08401356108e260c0860186613656565b8b610eff565b8583815181106108fa576108fa6135e9565b602090810291909101015250600101610882565b508490508067ffffffffffffffff81111561092b5761092b613025565b604051908082528060200260200182016040528015610954578160200160208202803683370190505b5091505f5b818110156109dd5736878783818110610974576109746135e9565b905060200281019061098691906136b2565b90506109b761099582806136d0565b6109a7368490038401602085016136e4565b8360a001358460c001358a610731565b8483815181106109c9576109c96135e9565b602090810291909101015250600101610959565b5050955095509592505050565b5f5f5f60605f855190505f8111610a2d576040517f21fa0dc700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a3686611a29565b5f5f606080610a7b6040518061010001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b610a9d8b5f81518110610a9057610a906135e9565b6020026020010151611bac565b60c083015160e0840151909d509b509097509195509093509050610ac085611d9c565b8160ff169150809350819b50505060038a901c888a020267ffffffffffffffff811115610aef57610aef613025565b6040519080825280601f01601f191660200182016040528015610b19576020820181803683370190505b508151909750158015610b2e57506020810151155b8015610b3d5750888160400151145b8015610b4c5750878160600151145b15610b6357610b5e8783858d88611e7f565b610b7d565b610b6f87838c84611fb1565b610b7d8783858d888661217e565b60015b86811015610c64575f610b9e8d8381518110610a9057610a906135e9565b92985091965093509050868114610bfb57809650610bbb87611d9c565b945060ff1690508b8114610bfb576040517f23f838ec00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8251158015610c0c57506020830151155b8015610c1b57508a8360400151145b8015610c2a5750898360600151145b15610c4157610c3c8985878f8a611e7f565b610c5b565b610c4d89858e86611fb1565b610c5b8985878f8a8861217e565b50600101610b80565b505050505050509193509193565b60408051608080820183525f808352602080840182905260608486018190528085015263ffffffff86811683527f3c1adc736457f7fc267f6a24936918f4a353929633e2a763879ceca77263320182529185902085519384018652805460ff81168552610100900490921690830152600181018054939492939192840191610cf9906135fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610d25906135fd565b8015610d705780601f10610d4757610100808354040283529160200191610d70565b820191905f5260205f20905b815481529060010190602001808311610d5357829003601f168201915b50505050508152602001600282018054610d89906135fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610db5906135fd565b8015610e005780601f10610dd757610100808354040283529160200191610e00565b820191905f5260205f20905b815481529060010190602001808311610de357829003601f168201915b5050505050815250509050919050565b6060610e3f7f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d4006107a784611626565b8054610e4a906135fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610e76906135fd565b8015610ec15780601f10610e9857610100808354040283529160200191610ec1565b820191905f5260205f20905b815481529060010190602001808311610ea457829003601f168201915b50505050509050919050565b6060610ed882611a29565b5090565b60605f5f5f5f610eeb866109ea565b9350935093509350610800848484846122fb565b5f610f19868689606001358a608001358b60400135611566565b610f4e8760400135875f01518860400151610f349190613643565b88602001518960600151610f489190613643565b8661165b565b5f8211610f6e57604051632b4582a560e01b815260040160405180910390fd5b7f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d4005f610f9b8287876123c6565b9050610faa8989898488611706565b9998505050505050505050565b5f610fed8460405180608001604052805f81526020015f81526020018760600135815260200187608001358152505f8686610731565b949350505050565b5f7f3c1adc736457f7fc267f6a24936918f4a353929633e2a763879ceca7726332005b5463ffffffff16919050565b60605f5f5f5f611033866109ea565b93509350935093506108008484848461247f565b7f3c1adc736457f7fc267f6a24936918f4a353929633e2a763879ceca77263320080545f91908290829082906110829063ffffffff166136fe565b825463ffffffff9182166101009390930a83810292021916179091555f81815260018401602052604090209091506110be818a8a8a8a8a6125d9565b817f73b05f94061684c43b9361fa65b5b965397451ddaa3035fce829f4fdc43997168a8a8a6110f4601f600383901c168b613736565b60405161110894939291908c903390613771565b60405180910390a250979650505050505050565b60603415611128575f5ffd5b61113a61113584846126c7565b612753565b92915050565b5f8161115f576040516306e5cf7960e21b815260040160405180910390fd5b61118a7f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d40084846123c6565b9392505050565b5f7f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d400611018565b6060818067ffffffffffffffff8111156111d4576111d4613025565b60405190808252806020026020018201604052801561122757816020015b604080516080810182525f80825260208201526060918101829052818101919091528152602001906001900390816111f25790505b5091507f3c1adc736457f7fc267f6a24936918f4a353929633e2a763879ceca7726332015f5b8281101561072857815f878784818110611269576112696135e9565b63ffffffff6020918202939093013583168452838101949094525060409182015f208251608081018452815460ff811682526101009004909216938201939093526001830180549193928401916112bf906135fd565b80601f01602080910402602001604051908101604052809291908181526020018280546112eb906135fd565b80156113365780601f1061130d57610100808354040283529160200191611336565b820191905f5260205f20905b81548152906001019060200180831161131957829003601f168201915b5050505050815260200160028201805461134f906135fd565b80601f016020809104026020016040519081016040528092919081815260200182805461137b906135fd565b80156113c65780601f1061139d576101008083540402835291602001916113c6565b820191905f5260205f20905b8154815290600101906020018083116113a957829003601f168201915b5050505050815250508482815181106113e1576113e16135e9565b602090810291909101015260010161124d565b60408051610180810182525f8082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820183905260e08201839052610100820183905261012082018390526101408201929092526101608101919091527f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d40063ffffffff8084165f90815260019283016020908152604091829020825161018081018452815460ff80821683526101008083049091169483019490945261ffff6201000082048116958301959095526401000000008104851660608301526601000000000000810485166080830152680100000000000000008104851660a08301526a01000000000000000000008104851660c0830152600160601b810490941660e0820152600160701b8404851692810192909252600160901b83048416610120830152600160b01b909204909216610140830152918201805491929161016084019190610d89906135fd565b604085015185511180159061157f575082856040015111155b801561159357508460600151856020015111155b80156115a3575081856060015111155b6115d9576040517f45e4a28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115e6600180831b613643565b84111561161f576040517f24aad79700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b5f63ffffffff821115610ed8576040516306dfcc6560e41b815260206004820152602481018390526044015b60405180910390fd5b835f10801561166b575060208411155b801561167e57506001640101010116851c165b6116b4576040517f10c88af100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f846116c084866137c2565b6116ca91906137c2565b90505f60036116da8360076137d9565b901c90508083146116fe576040516306e5cf7960e21b815260040160405180910390fd5b505050505050565b7f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d40080545f91908190839061173f9063ffffffff166136fe565b825463ffffffff9182166101009390930a83810292021916179091555f81815260018301602052604081209193506117778980613656565b9050111561179b576117898880613656565b6001830191611799919083613830565b505b6117a88860200135612764565b815460ff191660ff919091161781556117c46040890135612764565b815460ff919091166101000261ff00199091161781556117e76060890135612791565b815461ffff91909116620100000263ffff00001990911617815561180e6080890135612791565b815461ffff919091166401000000000265ffff0000000019909116178155865161183790612791565b815461ffff9190911666010000000000000267ffff00000000000019909116178155602087015161186790612791565b815461ffff91909116680100000000000000000269ffff000000000000000019909116178155604087015161189b90612791565b815461ffff919091166a0100000000000000000000026bffff000000000000000000001990911617815560608701516118d390612791565b815461ffff91909116600160601b026dffff0000000000000000000000001990911617815561190186611626565b815463ffffffff91909116600160901b027fffffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffff90911617815561194284611626565b815463ffffffff91909116600160b01b027fffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffff90911617815561198385611626565b815463ffffffff91909116600160701b027fffffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffff90911617905550807f354260e53682a8b55f8da011fb4d880b47efb2d44dd4c2502511508e3cd59d276119e88880613656565b89602001358a604001358b606001358c608001358c8b8d8c33604051611a189b9a999897969594939291906138ea565b60405180910390a295945050505050565b60208101517f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d4019063ffffffff811115611a7f576040516306dfcc6560e41b81526020600482015260248101829052604401611652565b50815160015b81811015611ba6575f611aa6611aa1868460051b016020015190565b611626565b63ffffffff81165f90815260208690526040902054909150610100900460ff16611afc576040517f2eb8a6de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff81165f9081526020859052604090205460ff16825b5f81118015611b51575081865f611b368a6001860360051b016020015190565b63ffffffff16815260208101919091526040015f205460ff16115b15611b8657611b7e8782611b6e8a6001860360051b016020015190565b808260051b602085010152505050565b5f1901611b16565b63ffffffff8316600582901b880160200152505050806001019050611a85565b50505050565b5f611bed6040518061010001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b63ffffffff8381165f9081527f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d40160209081526040808320805461ffff620100008204811660c08901526401000000008204811660e08901526601000000000000820481168089526801000000000000000083048216958901959095526a010000000000000000000082048116938801849052600160601b820416606088810191909152600160901b8204909616608088015260ff6101009091041696509293927f48829fddcf9497a4a949b434409eed16c5b73dbe348d10b9854adc250b08d400929091611cdb9190613643565b60a0860152805463ffffffff600160701b820481165f9081526002850160205260409020600160b01b9092041694508054611d15906135fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611d41906135fd565b8015611d8c5780601f10611d6357610100808354040283529160200191611d8c565b820191905f5260205f20905b815481529060010190602001808311611d6f57829003601f168201915b5050505050925050509193509193565b5f6060817f3c1adc736457f7fc267f6a24936918f4a353929633e2a763879ceca77263320181611dcb86611626565b63ffffffff16815260208101919091526040015f20805460028201805460ff9092169550919250611dfb906135fd565b80601f0160208091040260200160405190810160405280929190818152602001828054611e27906135fd565b8015611e725780601f10611e4957610100808354040283529160200191611e72565b820191905f5260205f20905b815481529060010190602001808311611e5557829003601f168201915b5050505050915050915091565b8451600383901c9004600180841b5f1990810191841b015f5b83811015611fa6576020858202600381811c8a01830151600792831689016101009081039190911c86168a029182901c8c01909301515f9391909216890190031c841660ff8116808303611eee57505050611f9e565b838902600381901c8d0160200180519450906007168a016101000360ff831015611f895784811c8816611f858582865f8160ff038060ff8560181c16028360ff8760181c16020160081c8160ff8660101c16028460ff8860101c16020160081c8260ff8760081c16028560ff8960081c16020160081c9250848360081b8260101b8460181b17171796505050508390509392505050565b9450505b87811b19949094169290931b91909117909152505b600101611e98565b505050505050505050565b60808101516020908302600381901c85018201519183015160079091168401610100039190911c6001841b5f190116901561203b5761203b8582856040518061010001604052805f81526020015f81526020018760c001518152602001876020015181526020015f81526020018760c0015181526020018760c0015181526020015f8152506127bf565b8160e00151826060015110156120a4576120a48582856040518061010001604052805f8152602001876060015181526020018760c0015181526020018760e0015181526020015f81526020018760c0015181526020018760c0015181526020015f8152506127bf565b815115612102576121028582856040518061010001604052805f815260200187602001518152602001875f01518152602001876060015181526020015f8152602001875f015181526020018760c0015181526020015f8152506127bf565b8160c001518260400151101561161f5761161f85828560405180610100016040528087604001518152602001876020015181526020018760c001518152602001876060015181526020015f815260200187604001518860c001516121669190613643565b81526020018760c0015181526020015f8152506127bf565b5f8052600180841b5f1990810191841b015b8260600151836020015110156122f157825160c0840151602085015160a086015191029091019081015b808210156122df575f80516020908802600381811c8c0183015160079283168b016101009081039190911c88168c029182901c8e019093015191168a019091031c85169060ff8216900361221b5760015f51015f52600183019250506121ba565b60078389029081168901610100039060031c8c0160200160ff83811610156122b8578051821c87166122b4848260ff82165f8160ff038060ff8560181c16028360ff8760181c16020160081c8160ff8660101c16028460ff8860101c16020160081c8260ff8760081c16028560ff8960081c16020160081c9250848360081b8260101b8460181b17171796505050508390509392505050565b9350505b86821b8019825116905083831b811782525060015f51015f526001850194505050506121ba565b50506020830180516001019052612190565b5050505050505050565b60606018851115600386811c86028082166004039091160184025f612322607c600e6137d9565b905061232e82826137d9565b67ffffffffffffffff81111561234657612346613025565b6040519080825280601f01601f191660200182016040528015612370576020820181803683370190505b50935061237f84855183612913565b6123a084607c8486612392576003612394565b5f5b60ff165f8c8c8f612940565b6123a9846129a1565b6123bb8486838a8a60038e901c6129ee565b505050949350505050565b82545f9084906004906123e690640100000000900463ffffffff166136fe565b825463ffffffff9182166101009390930a83810292021916179091555f818152600286016020526040902090915061241f838583613830565b50807f346bf82ec5020791c432a36ed3f70a81bfba0a2321f643108f8ee31a0e0a4a1b848490508585604051612456929190613987565b604051908190038120612470928252602082015260400190565b60405180910390a29392505050565b6040516f30313233343536373839616263646566600f52602081016124a5818686612a38565b90505f196001871b015f5b8581101561258e575f5f19828902825b8a811015612559578082018c02600381901c8a01602001515f916007168e01610100031c871690508060ff165f0361251d575f198410156125115761250a88868888860388612b60565b97505f1993505b81600101945050612551565b5f1984036125305780935081945061254f565b83811461254f5761254688868888860388612b60565b97508093508194505b505b6001016124c0565b505f198210801561256957508983105b156125805761257d868486868e0386612b60565b95505b5050508060010190506124b0565b50507f3c2f7376673e000000000000000000000000000000000000000000000000000081528181036019190182526006808201601f9081166020031690910101604052949350505050565b60208360ff1614612616576040517ff7765fcc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b601f600384901c1681801580159061263557506126338282613996565b155b61266b576040517f9b95bcaa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b85156126825760018801612680878983613830565b505b875460ff191660ff861617885561269c611aa18383613736565b885463ffffffff919091166101000264ffffffff001990911617885560028801611fa6848683613830565b5f60405190506020815281816020015280604001808360051b808684378201808515612741575b8351870180356020820183375f38823584305af461270e573d5f873e3d86fd5b5082810384523d815260209384019381013d5f823e5f3d8201523d01601f0167ffffffffffffffe01690508184106126ee575b60408181521b90931795945050505050565b8060401c8167ffffffffffffffff16f35b5f60ff821115610ed8576040516306dfcc6560e41b81526008600482015260248101839052604401611652565b5f61ffff821115610ed8576040516306dfcc6560e41b81526010600482015260248101839052604401611652565b5f196001831b0160ff84165f8190036127d9575050611ba6565b60208301515b836060015181101561290a57835160c085015160a086015190830290910190810160ff84900361284e575b8082101561284957868202600781168801610100038160031c60208c0101915086811b801983511690508a821b8117835250505081600101915061280a565b612900565b8082101561290057818702600381901c8a0160200180516007909216890161010003915f6128e48c83861c8b168a5f8160ff038060ff8560181c16028360ff8760181c16020160081c8160ff8660101c16028460ff8860101c16020160081c8260ff8760081c16028560ff8960081c16020160081c9250848360081b8260101b8460181b17171796505050508390509392505050565b89851b19929092169190931b179052506001919091019061284e565b50506001016127df565b50505050505050565b6020830160428153604d60018201535061292f83600284612c81565b61293b83600a83612c81565b505050565b61294c88600e89612c81565b61295888601285612c81565b61296488601684612c81565b61297188601a6001612cab565b61297d88601c83612cab565b61298988601e87612c81565b61299588602288612c81565b6122f188602e86612c81565b6129b081603662ff0000612c81565b6129be81603a61ff00612c81565b6129cb81603e60ff612c81565b6129db81604263ff000000612c81565b6129eb8160466373524742612c81565b50565b808302600380821660040316810185602089010160208801600186035f5b87811015612a2a57858682028401868385030286015e600101612a0c565b505050505050505050505050565b7f3c7376672073686170652d72656e646572696e673d226372697370456467657383527f222077696474683d22000000000000000000000000000000000000000000000060208401526029909201915f612a928484612cc3565b7f22206865696768743d22000000000000000000000000000000000000000000008152600a019350612ac48483612cc3565b7f222076696577426f783d223020302000000000000000000000000000000000008152600f019350612af68484612cc3565b935060208453600184019350612b0c8483612cc3565b7f2220786d6c6e733d22687474703a2f2f7777772e77332e6f72672f323030302f81527f737667223e0000000000000000000000000000000000000000000000000000006020820152602501949350505050565b5f7f3c7061746820643d224d000000000000000000000000000000000000000000008652600a86019550612b948686612cc3565b955060208653600186019550612baa8685612cc3565b7f763168000000000000000000000000000000000000000000000000000000000081526003019550612bdc8684612cc3565b95507f762d31222066696c6c3d222300000000000000000000000000000000000000008652600c860195505f601883901c60ff1690505f601084901c60ff1690505f600885901c60ff1690505f8560ff169050612c4d8a82600887901b601087901b601887901b1717176008612d08565b7f222f3e000000000000000000000000000000000000000000000000000000000081526003019a9950505050505050505050565b8160208401018181538160081c60018201538160101c60028201538160181c600382015350505050565b8160208401018181538160081c600182015350505050565b5f6001600a83045b8015612ce15760019190910190600a9004612ccb565b508301805b600182039150600a84066030018253600a8404935083612ce657949350505050565b5f818401805b600f8516516001198201915f190153600f8560041c165181538460081c9450858118612d0e5750949350505050565b5f60a08284031215612d4d575f5ffd5b50919050565b5f5f83601f840112612d63575f5ffd5b50813567ffffffffffffffff811115612d7a575f5ffd5b602083019150836020828501011115612d91575f5ffd5b9250929050565b5f5f5f5f60608587031215612dab575f5ffd5b843567ffffffffffffffff811115612dc1575f5ffd5b612dcd87828801612d3d565b945050602085013567ffffffffffffffff811115612de9575f5ffd5b612df587828801612d53565b9598909750949560400135949350505050565b5f5f83601f840112612e18575f5ffd5b50813567ffffffffffffffff811115612e2f575f5ffd5b6020830191508360208260051b8501011115612d91575f5ffd5b5f5f60208385031215612e5a575f5ffd5b823567ffffffffffffffff811115612e70575f5ffd5b612e7c85828601612e08565b90969095509350505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b805160ff1682525f6020820151612ed2602085018260ff169052565b506040820151612ee8604085018261ffff169052565b506060820151612efe606085018261ffff169052565b506080820151612f14608085018261ffff169052565b5060a0820151612f2a60a085018261ffff169052565b5060c0820151612f4060c085018261ffff169052565b5060e0820151612f5660e085018261ffff169052565b50610100820151612f7061010085018263ffffffff169052565b50610120820151612f8a61012085018263ffffffff169052565b50610140820151612fa461014085018263ffffffff169052565b50610160820151610180610160850152610fed610180850182612e88565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561301957603f19878603018452613004858351612eb6565b94506020938401939190910190600101612fe8565b50929695505050505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561306257613062613025565b604052919050565b5f6080828403121561307a575f5ffd5b6040516080810167ffffffffffffffff8111828210171561309d5761309d613025565b6040908152833582526020808501359083015283810135908201526060928301359281019290925250919050565b5f5f5f5f5f61010086880312156130e0575f5ffd5b853567ffffffffffffffff8111156130f6575f5ffd5b61310288828901612d3d565b955050613112876020880161306a565b949794965050505060a08301359260c08101359260e0909101359150565b5f5f5f5f5f60608688031215613144575f5ffd5b853567ffffffffffffffff81111561315a575f5ffd5b86016060818903121561316b575f5ffd5b9450602086013567ffffffffffffffff811115613186575f5ffd5b61319288828901612e08565b909550935050604086013567ffffffffffffffff8111156131b1575f5ffd5b6131bd88828901612e08565b969995985093965092949392505050565b5f8151808452602084019350602083015f5b828110156131fe5781518652602095860195909101906001016131e0565b5093949350505050565b838152606060208201525f61322060608301856131ce565b828103604084015261080081856131ce565b5f60208284031215613242575f5ffd5b813567ffffffffffffffff811115613258575f5ffd5b8201601f81018413613268575f5ffd5b803567ffffffffffffffff81111561328257613282613025565b8060051b61329260208201613039565b918252602081840181019290810190878411156132ad575f5ffd5b6020850194505b838510156132d3578435808352602095860195909350909101906132b4565b979650505050505050565b848152836020820152826040820152608060608201525f6108006080830184612e88565b5f60208284031215613312575f5ffd5b5035919050565b60ff815116825263ffffffff60208201511660208301525f60408201516080604085015261334a6080850182612e88565b90506060830151848203606086015261049c8282612e88565b602081525f61118a6020830184613319565b602081525f61118a6020830184612e88565b602081525f61118a60208301846131ce565b5f5f5f5f5f5f61010087890312156133af575f5ffd5b863567ffffffffffffffff8111156133c5575f5ffd5b6133d189828a01612d3d565b9650506133e1886020890161306a565b945060a0870135935060c087013567ffffffffffffffff811115613403575f5ffd5b61340f89828a01612d53565b979a969950949794969560e090950135949350505050565b5f5f5f60608486031215613439575f5ffd5b833567ffffffffffffffff81111561344f575f5ffd5b61345b86828701612d3d565b9660208601359650604090950135949350505050565b803560ff81168114613481575f5ffd5b919050565b5f5f5f5f5f6060868803121561349a575f5ffd5b853567ffffffffffffffff8111156134b0575f5ffd5b6134bc88828901612d53565b90965094506134cf905060208701613471565b9250604086013567ffffffffffffffff8111156134ea575f5ffd5b6131bd88828901612d53565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561301957603f19878603018452613538858351612e88565b9450602093840193919091019060010161351c565b5f5f6020838503121561355e575f5ffd5b823567ffffffffffffffff811115613574575f5ffd5b612e7c85828601612d53565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561301957603f198786030184526135c2858351613319565b945060209384019391909101906001016135a6565b602081525f61118a6020830184612eb6565b634e487b7160e01b5f52603260045260245ffd5b600181811c9082168061361157607f821691505b602082108103612d4d57634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8181038181111561113a5761113a61362f565b5f5f8335601e1984360301811261366b575f5ffd5b83018035915067ffffffffffffffff821115613685575f5ffd5b602001915036819003821315612d91575f5ffd5b5f602082840312156136a9575f5ffd5b61118a82613471565b5f823560de198336030181126136c6575f5ffd5b9190910192915050565b5f8235609e198336030181126136c6575f5ffd5b5f608082840312156136f4575f5ffd5b61118a838361306a565b5f63ffffffff821663ffffffff81036137195761371961362f565b60010192915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261374457613744613722565b500490565b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b60a081525f61378460a08301888a613749565b905060ff8616602083015284604083015283606083015273ffffffffffffffffffffffffffffffffffffffff83166080830152979650505050505050565b808202811582820484141761113a5761113a61362f565b8082018082111561113a5761113a61362f565b601f82111561293b57805f5260205f20601f840160051c810160208510156138115750805b601f840160051c820191505b8181101561161f575f815560010161381d565b67ffffffffffffffff83111561384857613848613025565b61385c8361385683546135fd565b836137ec565b5f601f84116001811461388d575f85156138765750838201355b5f19600387901b1c1916600186901b17835561161f565b5f83815260208120601f198716915b828110156138bc578685013582556020948501946001909201910161389c565b50868210156138d8575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b6101a081525f6138ff6101a083018d8f613749565b90508a6020830152896040830152886060830152876080830152865160a0830152602087015160c0830152604087015160e0830152606087015161010083015285610120830152846101408301528361016083015261397761018083018473ffffffffffffffffffffffffffffffffffffffff169052565b9c9b505050505050505050505050565b818382375f9101908152919050565b5f826139a4576139a4613722565b50069056fea264697066735822122077e89be32244d9ce82ae1ea1924731e0e0932d6723068d44b818e677ab9d501064736f6c634300081c00330000000000