6101006040526001600b556001600f5f6101000a81548160ff02191690831515021790555034801562000030575f80fd5b5060405180602001604052805f8152506040518060400160405280600981526020017f4552435f444e34303400000000000000000000000000000000000000000000008152506040518060400160405280600981526020017f4552435f444e343034000000000000000000000000000000000000000000000081525060126127106001335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000127575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200011e91906200048f565b60405180910390fd5b62000138816200036e60201b60201c565b506200014a866200042f60201b60201c565b6200015a6200044460201b60201c565b60048190555084600890816200017191906200070e565b5083600990816200018391906200070e565b508260ff1660808160ff1681525050608051600a620001a391906200097b565b60c0818152505060c05181620001ba9190620009cb565b60e0818152505060c05182620001d19190620009cb565b60a081815250506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060a05160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60a051604051620002d2919062000a26565b60405180910390a35050505050506040518060400160405280601181526020017f68747470733a2f2f692e6962622e636f2f000000000000000000000000000000815250600c90816200032691906200070e565b50606460026012600a6200033b91906200097b565b6127106200034a9190620009cb565b620003569190620009cb565b62000362919062000a6e565b600e8190555062000aa5565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600390816200044091906200070e565b5050565b5f6001905090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f62000477826200044c565b9050919050565b62000489816200046b565b82525050565b5f602082019050620004a45f8301846200047e565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200052657607f821691505b6020821081036200053c576200053b620004e1565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620005a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000563565b620005ac868362000563565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620005f6620005f0620005ea84620005c4565b620005cd565b620005c4565b9050919050565b5f819050919050565b6200061183620005d6565b620006296200062082620005fd565b8484546200056f565b825550505050565b5f90565b6200063f62000631565b6200064c81848462000606565b505050565b5b818110156200067357620006675f8262000635565b60018101905062000652565b5050565b601f821115620006c2576200068c8162000542565b620006978462000554565b81016020851015620006a7578190505b620006bf620006b68562000554565b83018262000651565b50505b505050565b5f82821c905092915050565b5f620006e45f1984600802620006c7565b1980831691505092915050565b5f620006fe8383620006d3565b9150826002028217905092915050565b6200071982620004aa565b67ffffffffffffffff811115620007355762000734620004b4565b5b6200074182546200050e565b6200074e82828562000677565b5f60209050601f83116001811462000784575f84156200076f578287015190505b6200077b8582620006f1565b865550620007ea565b601f198416620007948662000542565b5f5b82811015620007bd5784890151825560018201915060208501945060208101905062000796565b86831015620007dd5784890151620007d9601f891682620006d3565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156200087c57808604811115620008545762000853620007f2565b5b6001851615620008645780820291505b808102905062000874856200081f565b945062000834565b94509492505050565b5f8262000896576001905062000968565b81620008a5575f905062000968565b8160018114620008be5760028114620008c957620008ff565b600191505062000968565b60ff841115620008de57620008dd620007f2565b5b8360020a915084821115620008f857620008f7620007f2565b5b5062000968565b5060208310610133831016604e8410600b8410161715620009395782820a905083811115620009335762000932620007f2565b5b62000968565b6200094884848460016200082b565b92509050818404811115620009625762000961620007f2565b5b81810290505b9392505050565b5f60ff82169050919050565b5f6200098782620005c4565b915062000994836200096f565b9250620009c37fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000885565b905092915050565b5f620009d782620005c4565b9150620009e483620005c4565b9250828202620009f481620005c4565b9150828204841483151762000a0e5762000a0d620007f2565b5b5092915050565b62000a2081620005c4565b82525050565b5f60208201905062000a3b5f83018462000a15565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000a7a82620005c4565b915062000a8783620005c4565b92508262000a9a5762000a9962000a41565b5b828204905092915050565b60805160a05160c05160e051615f4c62000b115f395f8181610e68015281816111c4015281816120f1015281816125f401528181612f9601528181612fcd0152818161311d015261314901525f61123101525f8181610c9701526111f301525f6110060152615f4c5ff3fe608060405234801561000f575f80fd5b5060043610610245575f3560e01c806370a0823111610139578063c5b8f772116100b6578063e985e9c51161007a578063e985e9c51461074d578063f242432a1461077d578063f28ca1dd14610799578063f2fde38b146107b7578063f8b45b05146107d357610245565b8063c5b8f77214610683578063c87b56dd146106b3578063d547cfb7146106e3578063dd62ed3e14610701578063e0df5b6f1461073157610245565b806399a2557a116100fd57806399a2557a146105b95780639b19251a146105e9578063a014e6e214610619578063a22cb46514610637578063a9059cbb1461065357610245565b806370a0823114610513578063715018a6146105435780638462151c1461054d5780638da5cb5b1461057d57806395d89b411461059b57610245565b806323b872dd116101c75780634eabf2c61161018b5780634eabf2c61461049557806353d6fd591461049f5780635afcc2f5146104bb5780635d0044ca146104d95780636d6a6a4d146104f557610245565b806323b872dd146103cb5780632d760d57146103fb5780632eb2c2d61461042b578063313ce567146104475780634e1273f41461046557610245565b8063095ea7b31161020e578063095ea7b3146103135780630a702e8d146103435780630e89341c1461036157806318160ddd1461039157806318d217c3146103af57610245565b8062fdd58e1461024957806301ffc9a71461027957806302fe5305146102a957806306fdde03146102c5578063081812fc146102e3575b5f80fd5b610263600480360381019061025e919061446a565b6107f1565b60405161027091906144b7565b60405180910390f35b610293600480360381019061028e9190614525565b6108be565b6040516102a0919061456a565b60405180910390f35b6102c360048036038101906102be91906146bf565b610a67565b005b6102cd610a7b565b6040516102da9190614780565b60405180910390f35b6102fd60048036038101906102f891906147a0565b610b07565b60405161030a91906147da565b60405180910390f35b61032d6004803603810190610328919061446a565b610b37565b60405161033a919061456a565b60405180910390f35b61034b610c71565b604051610358919061456a565b60405180910390f35b61037b600480360381019061037691906147a0565b610c83565b6040516103889190614780565b60405180910390f35b610399610c95565b6040516103a691906144b7565b60405180910390f35b6103c960048036038101906103c491906146bf565b610cb9565b005b6103e560048036038101906103e091906147f3565b610cd4565b6040516103f2919061456a565b60405180910390f35b61041560048036038101906104109190614843565b610f06565b60405161042291906144b7565b60405180910390f35b610445600480360381019061044091906149f5565b610f6c565b005b61044f611004565b60405161045c9190614adb565b60405180910390f35b61047f600480360381019061047a9190614bb4565b611028565b60405161048c9190614ce1565b60405180910390f35b61049d611130565b005b6104b960048036038101906104b49190614d2b565b611162565b005b6104c36111c2565b6040516104d091906144b7565b60405180910390f35b6104f360048036038101906104ee91906147a0565b6111e6565b005b6104fd61122f565b60405161050a91906144b7565b60405180910390f35b61052d60048036038101906105289190614d69565b611253565b60405161053a91906144b7565b60405180910390f35b61054b611299565b005b61056760048036038101906105629190614d69565b6112ac565b6040516105749190614ce1565b60405180910390f35b61058561132d565b60405161059291906147da565b60405180910390f35b6105a3611354565b6040516105b09190614780565b60405180910390f35b6105d360048036038101906105ce9190614843565b6113e0565b6040516105e09190614ce1565b60405180910390f35b61060360048036038101906105fe9190614d69565b611561565b604051610610919061456a565b60405180910390f35b61062161157e565b60405161062e91906144b7565b60405180910390f35b610651600480360381019061064c9190614d2b565b611584565b005b61066d6004803603810190610668919061446a565b61159a565b60405161067a919061456a565b60405180910390f35b61069d6004803603810190610698919061446a565b6115b7565b6040516106aa919061456a565b60405180910390f35b6106cd60048036038101906106c891906147a0565b61160f565b6040516106da9190614780565b60405180910390f35b6106eb6119b9565b6040516106f89190614780565b60405180910390f35b61071b60048036038101906107169190614d94565b611a45565b60405161072891906144b7565b60405180910390f35b61074b600480360381019061074691906146bf565b611ac7565b005b61076760048036038101906107629190614d94565b611ae2565b604051610774919061456a565b60405180910390f35b61079760048036038101906107929190614dd2565b611b70565b005b6107a1611c10565b6040516107ae9190614780565b60405180910390f35b6107d160048036038101906107cc9190614d69565b611c9c565b005b6107db611d20565b6040516107e891906144b7565b60405180910390f35b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610857576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108a68260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611d2690919063ffffffff16565b156108b457600190506108b8565b5f90505b92915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061098857507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109f057507fc5b8f772000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a2057506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a505750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a605750610a5f82611d54565b5b9050919050565b610a6f611dbd565b610a7881611e44565b50565b60088054610a8890614e92565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab490614e92565b8015610aff5780601f10610ad657610100808354040283529160200191610aff565b820191905f5260205f20905b815481529060010190602001808311610ae257829003601f168201915b505050505081565b6005602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80339050610b44611e57565b83108015610b5157505f83115b15610c5a57610b6081846115b7565b610ba157806040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b9891906147da565b60405180910390fd5b8360055f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610c4d91906144b7565b60405180910390a3610c66565b610c65818585611e60565b5b600191505092915050565b600f5f9054906101000a900460ff1681565b6060610c8e8261160f565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610cc1611dbd565b80600c9081610cd0919061505f565b5050565b5f610cdd611e57565b821015610ee257610d338260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611d2690919063ffffffff16565b610d7457836040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610d6b91906147da565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610db75750610db58433611ae2565b155b8015610e1f575060055f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610e6157336040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610e5891906147da565b60405180910390fd5b610e8d84847f00000000000000000000000000000000000000000000000000000000000000005f611e72565b60055f8381526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055610edd848484600160405180602001604052805f8152505f611f64565b610efb565b610eed843384612253565b610efa8484846001611e72565b5b600190509392505050565b5f610f63838484610f17919061515b565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206122e59092919063ffffffff16565b90509392505050565b610f746123a3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610fba5750610fb985610fb46123a3565b611ae2565b5b610ff0576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610ffd85858585856123aa565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60608151835114611065576040517f7801f4e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f835167ffffffffffffffff8111156110815761108061459b565b5b6040519080825280602002602001820160405280156110af5781602001602082028036833780820191505090505b5090505f5b8451811015611125576110fb8582815181106110d3576110d261518e565b5b60200260200101518583815181106110ee576110ed61518e565b5b60200260200101516107f1565b82828151811061110e5761110d61518e565b5b6020026020010181815250508060010190506110b4565b508091505092915050565b611138611dbd565b600f5f9054906101000a900460ff1615600f5f6101000a81548160ff021916908315150217905550565b61116a611dbd565b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6111ee611dbd565b6064817f000000000000000000000000000000000000000000000000000000000000000061121c91906151bb565b6112269190615229565b600e8190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6112a1611dbd565b6112aa5f612779565b565b60605f6112b761283a565b0361130c575f67ffffffffffffffff8111156112d6576112d561459b565b5b6040519080825280602002602001820160405280156113045781602001602082028036833780820191505090505b509050611328565b6113258261131861285a565b611320611e57565b6113e0565b90505b919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6009805461136190614e92565b80601f016020809104026020016040519081016040528092919081815260200182805461138d90614e92565b80156113d85780601f106113af576101008083540402835291602001916113d8565b820191905f5260205f20905b8154815290600101906020018083116113bb57829003601f168201915b505050505081565b606081831061141b576040517f32c1995a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61142361285a565b8310156114355761143261285a565b92505b5f61143e611e57565b90508083111561144c578092505b5f8385101561146757611460868686610f06565b905061146b565b5f90505b5f8167ffffffffffffffff8111156114865761148561459b565b5b6040519080825280602002602001820160405280156114b45781602001602082028036833780820191505090505b5090505f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f80885f915091505b8481146115515761151a8284611d2690919063ffffffff16565b1561154657818482806001019350815181106115395761153861518e565b5b6020026020010181815250505b816001019150611500565b5050819450505050509392505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b600b5481565b61159661158f6123a3565b8383612862565b5050565b5f803390506115ac8185856001611e72565b600191505092915050565b5f6116078260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611d2690919063ffffffff16565b905092915050565b6060611619611e57565b8210611651576040517f7801f4e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61165b836129c9565b5111156116725761166b826129c9565b90506119b4565b5f600d805461168090614e92565b905011156116ba57600d61169383612a5b565b6040516020016116a4929190615313565b60405160208183030381529060405290506119b4565b5f826040516020016116cc9190615356565b6040516020818303038152906040528051906020012060f81c90506060806060603f8460ff1611611787576040518060400160405280601381526020017f475152685779462f4469616d6f6e642e6a70670000000000000000000000000081525092506040518060400160405280600781526020017f4469616d6f6e640000000000000000000000000000000000000000000000000081525091506040518060e0016040528060be8152602001615d9160be91399050611958565b607f8460ff1611611823576040518060400160405280601081526020017f6777644c6633662f476f6c642e6a70670000000000000000000000000000000081525092506040518060400160405280600481526020017f476f6c6400000000000000000000000000000000000000000000000000000000815250915060405180610100016040528060c88152602001615e4f60c891399050611957565b60bf8460ff16116118be576040518060400160405280601281526020017f464a6d6472646d2f53696c7665722e6a7067000000000000000000000000000081525092506040518060400160405280600681526020017f53696c766572000000000000000000000000000000000000000000000000000081525091506040518060c00160405280608e8152602001615d03608e91399050611956565b60ff8460ff1611611955576040518060400160405280601281526020017f594c47334a76632f42726f6e7a652e6a7067000000000000000000000000000081525092506040518060400160405280600681526020017f42726f6e7a65000000000000000000000000000000000000000000000000000081525091506040518060c0016040528060818152602001615c826081913990505b5b5b5b5f61196287612a5b565b82600c866040516020016119799493929190615474565b6040516020818303038152906040529050808360405160200161199d9291906155d6565b604051602081830303815290604052955050505050505b919050565b600d80546119c690614e92565b80601f01602080910402602001604051908101604052809291908181526020018280546119f290614e92565b8015611a3d5780601f10611a1457610100808354040283529160200191611a3d565b820191905f5260205f20905b815481529060010190602001808311611a2057829003601f168201915b505050505081565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611acf611dbd565b80600d9081611ade919061505f565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b611b786123a3565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480611bbe5750611bbd85611bb86123a3565b611ae2565b5b15611bd757611bd285858585856001611f64565b611c09565b6040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600c8054611c1d90614e92565b80601f0160208091040260200160405190810160405280929190818152602001828054611c4990614e92565b8015611c945780601f10611c6b57610100808354040283529160200191611c94565b820191905f5260205f20905b815481529060010190602001808311611c7757829003601f168201915b505050505081565b611ca4611dbd565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611d14575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611d0b91906147da565b60405180910390fd5b611d1d81612779565b50565b600e5481565b5f80600160ff8416855f015f600887901c81526020019081526020015f2054901c1690508091505092915050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611dc56123a3565b73ffffffffffffffffffffffffffffffffffffffff16611de361132d565b73ffffffffffffffffffffffffffffffffffffffff1614611e4257611e066123a3565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611e3991906147da565b60405180910390fd5b565b8060039081611e53919061505f565b5050565b5f600454905090565b611e6d8383836001612bb4565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611ee2575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611ed991906147da565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611f52575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611f4991906147da565b60405180910390fd5b611f5e84848484612d83565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611fc9576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611fd26123a3565b90505f611fde866131ac565b9050611fec8289898461321f565b60018514801561204757506120468660015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611d2690919063ffffffff16565b5b1561211b5761209b8660015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061322590919063ffffffff16565b6120ea8660015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061325490919063ffffffff16565b61211688887f00000000000000000000000000000000000000000000000000000000000000005f611e72565b61214d565b6040517f37dbad3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff8916915073ffffffffffffffffffffffffffffffffffffffff8a1690508682827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a48873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628b8b60405161221e92919061561a565b60405180910390a4612232848b8b86613282565b841561224757612246848b8b8b8b8b6134b6565b5b50505050505050505050565b5f61225e8484611a45565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146122df57818110156122d0578281836040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526004016122c793929190615641565b60405180910390fd5b6122de84848484035f612bb4565b5b50505050565b5f80600884901c90505f60ff85169050610101818501106123715761231e81875f015f8581526020019081526020015f2054901c6138b2565b92505f6008828601901c8301905060ff8286011694505f91508260010192505b80831461236f57612360875f015f8581526020019081526020015f20546138b2565b8401935082600101925061233e565b505b612396846101000382885f015f8681526020019081526020015f2054901c901b6138b2565b8301925050509392505050565b5f33905090565b81518351146123e5576040517f7801f4e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361244a576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6124536123a3565b90506124618187878761321f565b5f5b84518110156125ea575f8582815181106124805761247f61518e565b5b602002602001015190505f85838151811061249e5761249d61518e565b5b6020026020010151905060018114801561250357506125028260015f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611d2690919063ffffffff16565b5b156125ab576125578260015f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061322590919063ffffffff16565b6125a68260015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061325490919063ffffffff16565b6125dd565b6040517f37dbad3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050806001019050612463565b50612623868686517f000000000000000000000000000000000000000000000000000000000000000061261d91906151bb565b5f611e72565b5f805f600187516126349190615676565b905073ffffffffffffffffffffffffffffffffffffffff8916915073ffffffffffffffffffffffffffffffffffffffff88169250602087015183837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a460025b8181146126d5578060200288015184847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4600181019050612696565b508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8a8a60405161274c9291906156a9565b60405180910390a4612760848a8a8a613282565b61276e848a8a8a8a8a6138fb565b505050505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f61284361285a565b61284b611e57565b612855919061515b565b905090565b5f6001905090565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036128d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c79061574e565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516129bc919061456a565b60405180910390a3505050565b6060600380546129d890614e92565b80601f0160208091040260200160405190810160405280929190818152602001828054612a0490614e92565b8015612a4f5780601f10612a2657610100808354040283529160200191612a4f565b820191905f5260205f20905b815481529060010190602001808311612a3257829003601f168201915b50505050509050919050565b60605f8203612aa1576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612baf565b5f8290505f5b5f8214612ad0578080612ab99061576c565b915050600a82612ac99190615229565b9150612aa7565b5f8167ffffffffffffffff811115612aeb57612aea61459b565b5b6040519080825280601f01601f191660200182016040528015612b1d5781602001600182028036833780820191505090505b5090505b5f8514612ba857600182612b35919061515b565b9150600a85612b4491906157b3565b6030612b509190615676565b60f81b818381518110612b6657612b6561518e565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a85612ba19190615229565b9450612b21565b8093505050505b919050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612c24575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401612c1b91906147da565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612c94575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401612c8b91906147da565b60405180910390fd5b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015612d7d578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051612d7491906144b7565b60405180910390a35b50505050565b5f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083821015612e4e578582856040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612e4593929190615641565b60405180910390fd5b83820360065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555083810160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612f3391906144b7565b60405180910390a382156131a4575f600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905080613018575f7f00000000000000000000000000000000000000000000000000000000000000008685612fc1919061515b565b612fcb9190615229565b7f000000000000000000000000000000000000000000000000000000000000000085612ff79190615229565b613001919061515b565b90505f811115613016576130158882613abf565b5b505b600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166131a2576001600b541480156130755750805b80156130b3575061308461132d565b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b1561311a576001600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506002600b819055506131a1565b5f7f0000000000000000000000000000000000000000000000000000000000000000836131479190615229565b7f000000000000000000000000000000000000000000000000000000000000000087856131749190615676565b61317e9190615229565b613188919061515b565b90505f81111561319f5761319c8782613eaf565b50505b505b5b505b505050505050565b6060600167ffffffffffffffff8111156131c9576131c861459b565b5b6040519080825280602002602001820160405280156131f75781602001602082028036833780820191505090505b50905081815f8151811061320e5761320d61518e565b5b602002602001018181525050919050565b50505050565b60ff81166001901b19825f015f600884901c81526020019081526020015f205f82825416925050819055505050565b60ff81166001901b825f015f600884901c81526020019081526020015f205f82825417925050819055505050565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166134a457600e5460065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541115613352576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133499061582d565b60405180910390fd5b600f5f9054906101000a900460ff16156134a3574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106133e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133dc906158bb565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8273ffffffffffffffffffffffffffffffffffffffff163b14801561346357505f3273ffffffffffffffffffffffffffffffffffffffff163b145b6134a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161349990615949565b60405180910390fd5b5b5b6134b08484848461421e565b50505050565b6134d58473ffffffffffffffffffffffffffffffffffffffff16614224565b156138aa578373ffffffffffffffffffffffffffffffffffffffff166301ffc9a77fd9b67a26000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016135339190615976565b602060405180830381865afa15801561354e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061357291906159a3565b15613713578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016135b8959493929190615a20565b6020604051808303815f875af19250505080156135f357506040513d601f19601f820116820180604052508101906135f09190615a8c565b60015b61368f576135ff615ac3565b806308c379a00361365b5750613613615ae2565b8061361e575061365d565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136529190614780565b60405180910390fd5b505b6040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461370d576040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506138a9565b8373ffffffffffffffffffffffffffffffffffffffff1663150b7a02878786856040518563ffffffff1660e01b81526004016137529493929190615b71565b6020604051808303815f875af192505050801561378d57506040513d601f19601f8201168201806040525081019061378a9190615a8c565b60015b61382957613799615ac3565b806308c379a0036137f557506137ad615ae2565b806137b857506137f7565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137ec9190614780565b60405180910390fd5b505b6040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146138a7576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5b505050505050565b5f8019808314600382048460011c1684039350600582048460021c16600583048516019350601182048460041c850116935060ff8204840260f81c8160081b1792505050919050565b61391a8473ffffffffffffffffffffffffffffffffffffffff16614224565b15613ab7578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401613960959493929190615bbb565b6020604051808303815f875af192505050801561399b57506040513d601f19601f820116820180604052508101906139989190615a8c565b60015b613a37576139a7615ac3565b806308c379a003613a0357506139bb615ae2565b806139c65750613a05565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139fa9190614780565b60405180910390fd5b505b6040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614613ab5576040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613b24576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f613b2d6123a3565b90505f613b38611e57565b90505f8367ffffffffffffffff811115613b5557613b5461459b565b5b604051908082528060200260200182016040528015613b835781602001602082028036833780820191505090505b5090505f8467ffffffffffffffff811115613ba157613ba061459b565b5b604051908082528060200260200182016040528015613bcf5781602001602082028036833780820191505090505b5090505f5b85811015613ccf576001838281518110613bf157613bf061518e565b5b6020026020010181815250505f613c4d8560015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061423590919063ffffffff16565b905080838381518110613c6357613c6261518e565b5b602002602001018181525050613cbe8160015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061322590919063ffffffff16565b809450508080600101915050613bd4565b50613cdc84875f8461321f565b5f80600187613ceb9190615676565b905073ffffffffffffffffffffffffffffffffffffffff8816915060208301515f837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a460025b818114613d7357806020028401515f847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4600181019050613d34565b5060018703613e1a575f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62865f81518110613df557613df461518e565b5b60200260200101516001604051613e0d929190615c5a565b60405180910390a4613e99565b5f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8688604051613e909291906156a9565b60405180910390a45b613ea586895f86613282565b5050505050505050565b6060805f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603613f17576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8303613f50576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f613f596123a3565b90508367ffffffffffffffff811115613f7557613f7461459b565b5b604051908082528060200260200182016040528015613fa35781602001602082028036833780820191505090505b5092508367ffffffffffffffff811115613fc057613fbf61459b565b5b604051908082528060200260200182016040528015613fee5781602001602082028036833780820191505090505b5091505f613ffa611e57565b905080857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03101561402a575f80fd5b5f5b858110156140845780820185828151811061404a5761404961518e565b5b602002602001018181525050600184828151811061406b5761406a61518e565b5b602002602001018181525050808060010191505061402c565b50614091825f888761321f565b6140e2818660015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206142ae9092919063ffffffff16565b8460045f8282546140f39190615676565b925050819055505f8086836141089190615676565b905073ffffffffffffffffffffffffffffffffffffffff8816915082825f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4600183015b8181146141885780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a460018101905061414f565b508773ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb89896040516141ff9291906156a9565b60405180910390a4614213845f8a89613282565b505050509250929050565b50505050565b5f80823b90505f8111915050919050565b5f805f801992508360081c9150815f5284602052831960ff1660405f2054811b811c915082158217614283575b600115614282578383019250825f5260405f205491508215821715614262575b5b505f81146142a6576142948161432b565b600883901b1792508383115f03831792505b505092915050565b5f1960ff8316846020528360081c5f52610101838201106143115760405f2082821b815417815560015f510182850160081c5f510160ff8487011695505f93505b80821461430a57815f528460405f20556001820191506142ef565b815f525050505b60405f208284610100031c821b8154178155505050505050565b5f816fffffffffffffffffffffffffffffffff1060071b821560081b17905081811c67ffffffffffffffff1060061b8117905081811c63ffffffff1060051b8117905081811c61ffff1060041b8117905081811c60ff1060031b811790507f07060605060205040602030205040301060502050303040105050304000000006f8421084210842108cc6318c6db6d54be83831c1c601f161a81179050919050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f614406826143dd565b9050919050565b614416816143fc565b8114614420575f80fd5b50565b5f813590506144318161440d565b92915050565b5f819050919050565b61444981614437565b8114614453575f80fd5b50565b5f8135905061446481614440565b92915050565b5f80604083850312156144805761447f6143d5565b5b5f61448d85828601614423565b925050602061449e85828601614456565b9150509250929050565b6144b181614437565b82525050565b5f6020820190506144ca5f8301846144a8565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b614504816144d0565b811461450e575f80fd5b50565b5f8135905061451f816144fb565b92915050565b5f6020828403121561453a576145396143d5565b5b5f61454784828501614511565b91505092915050565b5f8115159050919050565b61456481614550565b82525050565b5f60208201905061457d5f83018461455b565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6145d18261458b565b810181811067ffffffffffffffff821117156145f0576145ef61459b565b5b80604052505050565b5f6146026143cc565b905061460e82826145c8565b919050565b5f67ffffffffffffffff82111561462d5761462c61459b565b5b6146368261458b565b9050602081019050919050565b828183375f83830152505050565b5f61466361465e84614613565b6145f9565b90508281526020810184848401111561467f5761467e614587565b5b61468a848285614643565b509392505050565b5f82601f8301126146a6576146a5614583565b5b81356146b6848260208601614651565b91505092915050565b5f602082840312156146d4576146d36143d5565b5b5f82013567ffffffffffffffff8111156146f1576146f06143d9565b5b6146fd84828501614692565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561473d578082015181840152602081019050614722565b5f8484015250505050565b5f61475282614706565b61475c8185614710565b935061476c818560208601614720565b6147758161458b565b840191505092915050565b5f6020820190508181035f8301526147988184614748565b905092915050565b5f602082840312156147b5576147b46143d5565b5b5f6147c284828501614456565b91505092915050565b6147d4816143fc565b82525050565b5f6020820190506147ed5f8301846147cb565b92915050565b5f805f6060848603121561480a576148096143d5565b5b5f61481786828701614423565b935050602061482886828701614423565b925050604061483986828701614456565b9150509250925092565b5f805f6060848603121561485a576148596143d5565b5b5f61486786828701614423565b935050602061487886828701614456565b925050604061488986828701614456565b9150509250925092565b5f67ffffffffffffffff8211156148ad576148ac61459b565b5b602082029050602081019050919050565b5f80fd5b5f6148d46148cf84614893565b6145f9565b905080838252602082019050602084028301858111156148f7576148f66148be565b5b835b81811015614920578061490c8882614456565b8452602084019350506020810190506148f9565b5050509392505050565b5f82601f83011261493e5761493d614583565b5b813561494e8482602086016148c2565b91505092915050565b5f67ffffffffffffffff8211156149715761497061459b565b5b61497a8261458b565b9050602081019050919050565b5f61499961499484614957565b6145f9565b9050828152602081018484840111156149b5576149b4614587565b5b6149c0848285614643565b509392505050565b5f82601f8301126149dc576149db614583565b5b81356149ec848260208601614987565b91505092915050565b5f805f805f60a08688031215614a0e57614a0d6143d5565b5b5f614a1b88828901614423565b9550506020614a2c88828901614423565b945050604086013567ffffffffffffffff811115614a4d57614a4c6143d9565b5b614a598882890161492a565b935050606086013567ffffffffffffffff811115614a7a57614a796143d9565b5b614a868882890161492a565b925050608086013567ffffffffffffffff811115614aa757614aa66143d9565b5b614ab3888289016149c8565b9150509295509295909350565b5f60ff82169050919050565b614ad581614ac0565b82525050565b5f602082019050614aee5f830184614acc565b92915050565b5f67ffffffffffffffff821115614b0e57614b0d61459b565b5b602082029050602081019050919050565b5f614b31614b2c84614af4565b6145f9565b90508083825260208201905060208402830185811115614b5457614b536148be565b5b835b81811015614b7d5780614b698882614423565b845260208401935050602081019050614b56565b5050509392505050565b5f82601f830112614b9b57614b9a614583565b5b8135614bab848260208601614b1f565b91505092915050565b5f8060408385031215614bca57614bc96143d5565b5b5f83013567ffffffffffffffff811115614be757614be66143d9565b5b614bf385828601614b87565b925050602083013567ffffffffffffffff811115614c1457614c136143d9565b5b614c208582860161492a565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614c5c81614437565b82525050565b5f614c6d8383614c53565b60208301905092915050565b5f602082019050919050565b5f614c8f82614c2a565b614c998185614c34565b9350614ca483614c44565b805f5b83811015614cd4578151614cbb8882614c62565b9750614cc683614c79565b925050600181019050614ca7565b5085935050505092915050565b5f6020820190508181035f830152614cf98184614c85565b905092915050565b614d0a81614550565b8114614d14575f80fd5b50565b5f81359050614d2581614d01565b92915050565b5f8060408385031215614d4157614d406143d5565b5b5f614d4e85828601614423565b9250506020614d5f85828601614d17565b9150509250929050565b5f60208284031215614d7e57614d7d6143d5565b5b5f614d8b84828501614423565b91505092915050565b5f8060408385031215614daa57614da96143d5565b5b5f614db785828601614423565b9250506020614dc885828601614423565b9150509250929050565b5f805f805f60a08688031215614deb57614dea6143d5565b5b5f614df888828901614423565b9550506020614e0988828901614423565b9450506040614e1a88828901614456565b9350506060614e2b88828901614456565b925050608086013567ffffffffffffffff811115614e4c57614e4b6143d9565b5b614e58888289016149c8565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680614ea957607f821691505b602082108103614ebc57614ebb614e65565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614f1e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614ee3565b614f288683614ee3565b95508019841693508086168417925050509392505050565b5f819050919050565b5f614f63614f5e614f5984614437565b614f40565b614437565b9050919050565b5f819050919050565b614f7c83614f49565b614f90614f8882614f6a565b848454614eef565b825550505050565b5f90565b614fa4614f98565b614faf818484614f73565b505050565b5b81811015614fd257614fc75f82614f9c565b600181019050614fb5565b5050565b601f82111561501757614fe881614ec2565b614ff184614ed4565b81016020851015615000578190505b61501461500c85614ed4565b830182614fb4565b50505b505050565b5f82821c905092915050565b5f6150375f198460080261501c565b1980831691505092915050565b5f61504f8383615028565b9150826002028217905092915050565b61506882614706565b67ffffffffffffffff8111156150815761508061459b565b5b61508b8254614e92565b615096828285614fd6565b5f60209050601f8311600181146150c7575f84156150b5578287015190505b6150bf8582615044565b865550615126565b601f1984166150d586614ec2565b5f5b828110156150fc578489015182556001820191506020850194506020810190506150d7565b868310156151195784890151615115601f891682615028565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61516582614437565b915061517083614437565b92508282039050818111156151885761518761512e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6151c582614437565b91506151d083614437565b92508282026151de81614437565b915082820484148315176151f5576151f461512e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f61523382614437565b915061523e83614437565b92508261524e5761524d6151fc565b5b828204905092915050565b5f81905092915050565b5f815461526f81614e92565b6152798186615259565b9450600182165f811461529357600181146152a8576152da565b60ff19831686528115158202860193506152da565b6152b185614ec2565b5f5b838110156152d2578154818901526001820191506020810190506152b3565b838801955050505b50505092915050565b5f6152ed82614706565b6152f78185615259565b9350615307818560208601614720565b80840191505092915050565b5f61531e8285615263565b915061532a82846152e3565b91508190509392505050565b5f819050919050565b61535061534b82614437565b615336565b82525050565b5f615361828461533f565b60208201915081905092915050565b7f7b226e616d65223a20224552435f444e343034202300000000000000000000005f82015250565b5f6153a4601583615259565b91506153af82615370565b601582019050919050565b7f222c226465736372697074696f6e223a220000000000000000000000000000005f82015250565b5f6153ee601183615259565b91506153f9826153ba565b601182019050919050565b7f222c2265787465726e616c5f75726c223a2268747470733a2f2f495f77696c6c5f8201527f5f7275672e636f6d222c22696d616765223a2200000000000000000000000000602082015250565b5f61545e603383615259565b915061546982615404565b603382019050919050565b5f61547e82615398565b915061548a82876152e3565b9150615495826153e2565b91506154a182866152e3565b91506154ac82615452565b91506154b88285615263565b91506154c482846152e3565b915081905095945050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c00000000005f82015250565b5f615506601b83615259565b9150615511826154d2565b601b82019050919050565b7f222c2261747472696275746573223a5b7b2274726169745f74797065223a22435f8201527f6f6c6f72222c2276616c7565223a220000000000000000000000000000000000602082015250565b5f615576602f83615259565b91506155818261551c565b602f82019050919050565b7f227d5d7d000000000000000000000000000000000000000000000000000000005f82015250565b5f6155c0600483615259565b91506155cb8261558c565b600482019050919050565b5f6155e0826154fa565b91506155ec82856152e3565b91506155f78261556a565b915061560382846152e3565b915061560e826155b4565b91508190509392505050565b5f60408201905061562d5f8301856144a8565b61563a60208301846144a8565b9392505050565b5f6060820190506156545f8301866147cb565b61566160208301856144a8565b61566e60408301846144a8565b949350505050565b5f61568082614437565b915061568b83614437565b92508282019050808211156156a3576156a261512e565b5b92915050565b5f6040820190508181035f8301526156c18185614c85565b905081810360208301526156d58184614c85565b90509392505050565b7f455243313135353a2073657474696e6720617070726f76616c207374617475735f8201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b5f615738602983614710565b9150615743826156de565b604082019050919050565b5f6020820190508181035f8301526157658161572c565b9050919050565b5f61577682614437565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036157a8576157a761512e565b5b600182019050919050565b5f6157bd82614437565b91506157c883614437565b9250826157d8576157d76151fc565b5b828206905092915050565b7f5472616e736665722065786365656473206d6178696d756d2077616c6c6574005f82015250565b5f615817601f83614710565b9150615822826157e3565b602082019050919050565b5f6020820190508181035f8301526158448161580b565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6158a5602483614710565b91506158b08261584b565b604082019050919050565b5f6020820190508181035f8301526158d281615899565b9050919050565b7f436f6e74726163742074726164696e672072657374726963746564206174206c5f8201527f61756e6368000000000000000000000000000000000000000000000000000000602082015250565b5f615933602583614710565b915061593e826158d9565b604082019050919050565b5f6020820190508181035f83015261596081615927565b9050919050565b615970816144d0565b82525050565b5f6020820190506159895f830184615967565b92915050565b5f8151905061599d81614d01565b92915050565b5f602082840312156159b8576159b76143d5565b5b5f6159c58482850161598f565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6159f2826159ce565b6159fc81856159d8565b9350615a0c818560208601614720565b615a158161458b565b840191505092915050565b5f60a082019050615a335f8301886147cb565b615a4060208301876147cb565b615a4d60408301866144a8565b615a5a60608301856144a8565b8181036080830152615a6c81846159e8565b90509695505050505050565b5f81519050615a86816144fb565b92915050565b5f60208284031215615aa157615aa06143d5565b5b5f615aae84828501615a78565b91505092915050565b5f8160e01c9050919050565b5f60033d1115615adf5760045f803e615adc5f51615ab7565b90505b90565b5f60443d10615b6e57615af36143cc565b60043d036004823e80513d602482011167ffffffffffffffff82111715615b1b575050615b6e565b808201805167ffffffffffffffff811115615b395750505050615b6e565b80602083010160043d038501811115615b56575050505050615b6e565b615b65826020018501866145c8565b82955050505050505b90565b5f608082019050615b845f8301876147cb565b615b9160208301866147cb565b615b9e60408301856144a8565b8181036060830152615bb081846159e8565b905095945050505050565b5f60a082019050615bce5f8301886147cb565b615bdb60208301876147cb565b8181036040830152615bed8186614c85565b90508181036060830152615c018185614c85565b90508181036080830152615c1581846159e8565b90509695505050505050565b5f819050919050565b5f615c44615c3f615c3a84615c21565b614f40565b614437565b9050919050565b615c5481615c2a565b82525050565b5f604082019050615c6d5f8301856144a8565b615c7a6020830184615c4b565b939250505056fe456e747279206c6576656c204e46547320706f776572656420627920455243313135352e205468652073696c766572204e46547320617265206d696e6564206279206173706972696e6720636f6c6c6563746f727320616e64206d65746963756c6f75736c79206372616674656420666f72206163636573736962696c6974792e526566696e6564204e46547320706f776572656420627920455243313135352e205468652073696c766572204e46547320617265206d696e656420627920736561736f6e656420656e7468757369617374732c20616464696e6720616e206578747261206c61796572206f6620736f706869737469636174696f6e20746f20796f757220706f7274666f6c696f2e4c6567656e64617279204e46547320706f776572656420627920455243313135352e20546865204469616d6f6e64204e46547320617265206d65746963756c6f75736c79206d696e656420627920696e64757374727920656c6974657320616e642063726166746564207769746820756e706172616c6c656c656420707265636973696f6e2c20726570726573656e74696e6720746865207a656e697468206f66206c757875727920616e64206469676974616c2061727469737472792e50726573746967696f7573204e46547320706f776572656420627920455243313135352e2054686520676f6c64204e46547320617265206361726566756c6c79206d696e65642062792065787065727420636f6c6c6563746f727320616e64206d65746963756c6f75736c792063726166746564207769746820676f6c64656e20657863656c6c656e63652c2073796d626f6c697a696e67207468652070696e6e61636c65206f66206469676974616c2072617269747920616e64206578636c757369766974792ea264697066735822122028acdccd34741fab027d1d1dc41718835fb61a86355f82f5559288443b46ce1764736f6c63430008180033