ELF>*@j@8 @PPQtd--pppPtdЗЗЗ44(m(}(}MVRtd(m(}(}$$pp  aaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX^ `Z' ^^ ui __ h _^_ui _(}`+0} +8}8}Jp|JW|>|@| W|(>|0B|8E|@|HPH|`W|h>|pB|xE||H|>|O|V|Y|\| `s|@p|L+`y|I4` |xJ9|J>`|X M`1h`E?PX F  ?P"X`Shpx_x fv (08@HPX ` h p x ȀЀ؀ ! #($0%8&@'H(P)X*`+h,p-x./01234567ȁ8Ё9؁:;<=>?@AB C(D0E8F@GHHPIXJ`KhLpMxNOPQRSTUVWȂXЂY؂Z[\]^_`ab c(d0e8f@gHhPiXj`khlpmxnopqrstuvwȃxЃy؃z{|}~ (08@HPX`hpxȄЄ؄ (08@HPX`hpxȅЅ؅ (08@HPX`hpxȆІ؆ (08@HPX`hpxȇЇ؇ (08@H P X ` h pxȈЈ؈ !"# $(%0&8'@(H)P*X+`,h-p.x/012345678ȉ9Љ:؉;<=>?@ABC D(E0F8G@HHIPJXK`LhMpNxOPQRSTUVWXȊYЊZ؊[\]^_`abc d(e0f8g@hHiPjXk`lhmpnxopqrstuvwxȋyЋz؋{|}~ (08@HPX`hpxȌЌ، (08@HPX`hpxȍЍ؍ (08@HPX`hpxȎЎ؎ (08@HPX`hpxȏЏ؏ (0 8 @ H P X`hpxȐАؐ !"#$%& '((0)8*@+H,P-X.`/h0p1x23456789:;ȑ<Б=ؑ>?@ABCDEF G(H0I8J@KHLPMXN`OhPpQxRSTUVWXYZ[Ȓ\В]ؒ^_`abcdef g(h0i8j@kHlPmXn`ohppqxrstuvwxyz{ȓ|Г}ؓ~ (08@HPX`hpxȔДؔ (08@HPX`hpxȕЕؕ (08@HPX`hpxȖЖؖ (08@HPX`hpxȗЗؗ  ( 0 8 @ HPX`hpxȘИؘ !"#$%&'( )(*0+8,@-H.P/X0`1h2p3x456789:;<=ș>Й?ؙ@ABCDEFGH I(J0K8L@MHNPOXP`QhRpSxTUVWXYZ[\]Ț^К_ؚ`abcdefgh i(j0k8l@mHnPoXp`qhrpsxtuvwxyz{|}ț~Л؛ (08@HPX`hpxȜМ؜ (08@HPX`hpxȝН؝ (08@HPX`hpxȞО؞ (08@HPX`hpxȟП؟  ( 0 8 @ HPX`hpxȠРؠ !"#$%&'( )(*0+8,@-H.P/X0`1h2p3x456789:;<=ȡ>С?ء@ABCDEFGH I(J0K8L@MHNPOXP`QhRpSxTUVWXYZ[\]Ȣ^Т`آabcdefghi j(k0l8m@nHoPpXq`rhsptxuvwyz{|}~ȣУأ (08@HPX`hpxȤФؤ (08@HPX`hpxȥХإ (08@HPX`hpxȦЦئ (08@HPX`hpxȧЧا     ( 08@HPX`hpx Ȩ!Ш"ب#$%&'()*+ ,(-0.8/@0H1P2X3`4h5p6x789:;<=>?@ȩAЩBةCDEFGHIJK L(M0N8O@PHQPRXS`ThUpVxWXYZ[\]^_`ȪaЪbتcdefghijk l(m0n8o@pHqPrXs`thupvxwxyz{|}~ȫЫث (08@HPX`hpxȬЬج (08@HPX`hpxȭЭح (08@HPX`hpxȮЮخ (08@HPX`hpxȯЯد      (08@HPX`hpx!"#$Ȱ%а&ذ'()*+,-./ 0(10283@4H5P6X7`8h9p:x;<=>?@ABCDȱEбFرGHIJKLMNO P(Q0R8S@THUPVXW`XhYpZx[\]^_`abcdȲeвfزghijklmno p(q0r8s@tHuPwXx`yhzp{x|}~ȳгس (08@HPX`hpxȴдش (08@HPHHݿHteH5%@%h%ڿh%ҿh%ʿh%¿h%h%h%hp%h`%h P%h @%h 0%h %zh %rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h %ھh!%Ҿh"%ʾh#%¾h$%h%%h&%h'p%h(`%h)P%h*@%h+0%h, %zh-%rh.%jh/%bh0%Zh1%Rh2%Jh3%Bh4%:h5%2h6%*h7p%"h8`%h9P%h:@% h;0%h< %h=%h>%h?%h@%ڽhA%ҽhB%ʽhC%½hD%hE%hF%hGp%hH`%hIP%hJ@%hK0%hL %zhM%rhN%jhO%bhP%ZhQ%RhR%JhS%BhT%:hU%2hV%*hWp%"hX`%hYP%hZ@% h[0%h\ %h]%h^%h_%h`%ڼha%Ҽhb%ʼhc%¼hd%he%hf%hgp%hh`%hiP%hj@%hk0%hl %zhm%rhn%jho%bhp%Zhq%Rhr%Jhs%Bht%:hu%2hv%*hwp%"hx`%hyP%hz@% h{0%h| %h}%h~%h%h%ڻh%һh%ʻh%»h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ںh%Һh%ʺh%ºh%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڹh%ҹh%ʹh%¹h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڸh%Ҹh%ʸh%¸h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڷh%ҷh%ʷh%·h%h%h%hp%h`%h P%h @%h 0%h  %zh %rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h %ڶh!%Ҷh"%ʶh#%¶h$%h%%h&%h'p%h(`%h)P%h*@%h+0%h, %zh-%rh.%jh/%bh0%Zh1%Rh2%Jh3%Bh4%:h5%2h6%*h7p%"h8`%h9P%h:@% h;0%h< %h=%h>%h?%h@%ڵhA%ҵhB%ʵhC%µhD%hE%hF%hGp%hH`%hIP%hJ@%hK0%hL %zhM%rhN%jhO%bhP%ZhQ%RhR%JhS%BhT%:hU%2hV%*hWp%"hX`%hYP%hZ@% h[0%h\ %h]%h^%h_%h`%ڴha%Ҵhb%ʴhc%´hd%he%hf%hgp%hh`%hiP%hj@%hk0%hl %zhm%rhn%jho%bhp%Zhq%Rhr%Jhs%Bht%:hu%2hv%*hwp%"hx`%hyP%hz@% h{0%h| %h}%h~%h%h%ڳh%ҳh%ʳh%³h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڲh%Ҳh%ʲh%²h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڱh%ұh%ʱh%±h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڰh%Ұh%ʰh%°h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%گh%үh%ʯh%¯h%h%h%hp%h`%h P%h @%h 0%h  %zh %rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h %ڮh!%Үh"%ʮh#%®h$%h%%h&%h'p%h(`%h)P%h*@%h+0%h, %zh-%rh.%jh/%bh0%Zh1%Rh2%Jh3%Bh4%:h5%2h6%*h7p%"h8`%h9P%h:@% h;0%h< %h=%h>%h?%h@%ڭhA%ҭhB%ʭhC%­hD%hE%hF%hGp%hH`%hIP%hJ@%hK0%hL %zhM%rhN%jhO%bhP%ZhQ%RhR%JhS%BhT%:hU%2hV%*hWp%"hX`%hYP%hZ@% h[0%h\ %h]%h^%h_%h`%ڬha%Ҭhb%ʬhc%¬hd%he%hf%hgp%hh`%hiP%hj@%hk0%hl %zhm%rhn%jho%bhp%Zhq%Rhr%Jhs%Bht%:hu%2hv%*hwp%"hx`%hyP%hz@% h{0%h| %h}%h~%h%h%ګh%ҫh%ʫh%«h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڪh%Ҫh%ʪh%ªh%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%کh%ҩh%ʩh%©h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڨh%Ҩh%ʨh%¨h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڧh%ҧh%ʧh%§h%h%h%hp%h`%h P%h @%h 0%h  %zh %rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h %ڦh!%Ҧh"%ʦh#%¦h$%h%%h&%h'p%h(`%h)P%h*@%h+0%h, %zh-%rh.%jh/%bh0%Zh1%Rh2%Jh3%Bh4%:h5%2h6%*h7p%"h8`%h9P%h:@% h;0%h< %h=%h>%h?%h@%ڥhA%ҥhB%ʥhC%¥hD%hE%hF%hGp%hH`%hIP%hJ@%hK0%hL %zhM%rhN%jhO%bhP%ZhQ%RhR%JhS%BhT%:hU%2hV%*hWp%"hX`%hYP%hZ@% h[0%h\ %h]%h^%h_%h`%ڤha%Ҥhb%ʤhc%¤hd%he%hf%hgp%hh`%hiP%hj@%hk0%hl %zhm%rhn%jho%bhp%Zhq%Rhr%Jhs%Bht%:hu%2hv%*hwp%"hx`%hyP%hz@% h{0%h| %h}%h~%h%h%ڣh%ңh%ʣh%£h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڢh%Ңh%ʢh%¢h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڡh%ҡh%ʡh%¡h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڠh%Ҡh%ʠh% h%h%h%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zh%Rh%Jh%Bh%:h%2h%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڟhп%ҟh%ʟh鰿%Ÿh頿%h鐿%h逿%hp%h`%h P%h @%h 0%h  %zh %rh%jh%bh%Zhо%Rh%Jh鰾%Bh頾%:h鐾%2h逾%*hp%"h`%hP%h@% h0%h %h%h%h%h %ڞh!н%Ҟh"%ʞh#鰽%žh$頽%h%鐽%h&逽%h'p%h(`%h)P%h*@%h+0%h, %zh-%rh.%jh/%bh0%Zh1м%Rh2%Jh3鰼%Bh4頼%:h5鐼%2h6逼%*h7p%"h8`%h9P%h:@% h;0%h< %h=%h>%h?%h@%ڝhAл%ҝhB%ʝhC鰻%hD頻%hE鐻%hF逻%hGp%hH`%hIP%hJ@%hK0%hL %zhM%rhN%jhO%bhP%ZhQк%RhR%JhS鰺%BhT頺%:hU鐺%2hV逺%*hWp%"hX`%hYP%hZ@% h[0%h\ %h]%h^%h_%h`%ڜhaй%Ҝhb%ʜhc鰹%œhd頹%he鐹%hf逹%hgp%hh`%hiP%hj@%hk0%hl %zhm%rhn%jho%bhp%Zhqи%Rhr%Jhs鰸%Bht頸%:hu鐸%2hv逸%*hwp%"hx`%hyP%hz@% h{0%h| %h}%h~%h%h%ڛhз%қh%ʛh鰷%›h頷%h鐷%h逷%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zhж%Rh%Jh鰶%Bh頶%:h鐶%2h逶%*hp%"h`%hP%h@% h0%h %h%h%h%h%ښhе%Қh%ʚh鰵%šh頵%h鐵%h逵%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zhд%Rh%Jh鰴%Bh頴%:h鐴%2h逴%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڙhг%ҙh%ʙh鰳%™h頳%h鐳%h逳%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zhв%Rh%Jh鰲%Bh頲%:h鐲%2h進%*hp%"h`%hP%h@% h0%h %h%h%h%h%ژhб%Ҙh%ʘh鰱%˜h頱%h鐱%h週%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%Zhа%Rh%Jh鰰%Bh頰%:h鐰%2h逰%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڗhЯ%җh%ʗh鰯%—h頯%h鐯%h逯%hp%h`%h P%h @%h 0%h  %zh %rh%jh%bh%ZhЮ%Rh%Jh鰮%Bh頮%:h鐮%2h逮%*hp%"h`%hP%h@% h0%h %h%h%h%h %ږh!Э%Җh"%ʖh#鰭%–h$頭%h%鐭%h&逭%h'p%h(`%h)P%h*@%h+0%h, %zh-%rh.%jh/%bh0%Zh1Ь%Rh2%Jh3鰬%Bh4頬%:h5鐬%2h6逬%*h7p%"h8`%h9P%h:@% h;0%h< %h=%h>%h?%h@%ڕhAЫ%ҕhB%ʕhC鰫%•hD頫%hE鐫%hF逫%hGp%hH`%hIP%hJ@%hK0%hL %zhM%rhN%jhO%bhP%ZhQЪ%RhR%JhS鰪%BhT頪%:hU鐪%2hV逪%*hWp%"hX`%hYP%hZ@% h[0%h\ %h]%h^%h_%h`%ڔhaЩ%Ҕhb%ʔhc鰩%”hd頩%he鐩%hf逩%hgp%hh`%hiP%hj@%hk0%hl %zhm%rhn%jho%bhp%ZhqШ%Rhr%Jhs鰨%Bht頨%:hu鐨%2hv逨%*hwp%"hx`%hyP%hz@% h{0%h| %h}%h~%h%h%ړhЧ%ғh%ʓh鰧%“h頧%h鐧%h逧%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%ZhЦ%Rh%Jh鰦%Bh頦%:h鐦%2h逦%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڒhХ%Ғh%ʒh鰥%’h頥%h鐥%h逥%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%ZhФ%Rh%Jh鰤%Bh頤%:h鐤%2h逤%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڑhУ%ґh%ʑh鰣%‘h頣%h鐣%h連%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%ZhТ%Rh%Jh鰢%Bh頢%:h鐢%2h逢%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڐhС%Ґh%ʐh鰡%h頡%h鐡%h逡%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%ZhР%Rh%Jh鰠%Bh頠%:h鐠%2h造%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڏhП%ҏh%ʏh鰟%h頟%h鐟%h速%hp%h`%h P%h @%h 0%h  %zh %rh%jh%bh%ZhО%Rh%Jh鰞%Bh頞%:h鐞%2h逞%*hp%"h`%hP%h@% h0%h %h%h%h%h %ڎh!Н%Ҏh"%ʎh#鰝%Žh$頝%h%鐝%h&逝%h'p%h(`%h)P%h*@%h+0%h, %zh-%rh.%jh/%bh0%Zh1М%Rh2%Jh3鰜%Bh4頜%:h5鐜%2h6逜%*h7p%"h8`%h9P%h:@% h;0%h< %h=%h>%h?%h@%ڍhAЛ%ҍhB%ʍhC鰛%hD頛%hE鐛%hF逛%hGp%hH`%hIP%hJ@%hK0%hL %zhM%rhN%jhO%bhP%ZhQК%RhR%JhS鰚%BhT頚%:hU鐚%2hV通%*hWp%"hX`%hYP%hZ@% h[0%h\ %h]%h^%h_%h`%ڌhaЙ%Ҍhb%ʌhc鰙%Œhd頙%he鐙%hf這%hgp%hh`%hiP%hj@%hk0%hl %zhm%rhn%jho%bhp%ZhqИ%Rhr%Jhs鰘%Bht領%:hu鐘%2hv逘%*hwp%"hx`%hyP%hz@% h{0%h| %h}%h~%h%h%ڋhЗ%ҋh%ʋh鰗%‹h頗%h鐗%h逗%hp%h`%hP%h@%h0%h %zh%rh%jh%bh%ZhЖ%Rh%Jh鰖%Bh頖%:h鐖%2h逖%*hp%"h`%hP%h@% h0%h %h%h%h%h%ڊhЕ%Ҋh%ʊh鰕%Šh頕%h鐕%h逕%hpH=HH9tHUHt H=YH5RH)HH?HHHtHTHtfD=u/UH=.THt H=Qh]{f.H=AH=t@ATHfvHUH\D1SHH HĀHD$)D$D$A1ED$~HT$HfoPA He hidden)D$foPL FS HD$xc`)D$(foPDŽ$ `ja)D$8foPf$)D$HfoP)D$XfoP)D$hLd$(ATZYHHt]HxBHtD$D$uHD$HD$H[]A\f.HH=N1HD$HuH=LDAVAUATIUHHHFHISIHH}H5RH9t ":HH5~MHHt,LHLHEDxHHEj-LHHHD=ܜH1]A\A]A^fHt$ HST$ OHH99A$IxHIA$tOH]A\A]A^DHt$ HL$ HH9A$HuZHH]A\A]A^DHEHH&H1H@JHHEAUATUSHH HHMHD$HD$(HD$0HD$@HD$HHD$H$HD$ D$HD$8D$D$ D$D$PHD$HP1LD$8LL$@hAYAZA1E`HT$ foTJHument `yHA f$D$Xfo,JHD$(D$hfoVJH$D$xfoQJ$foQJ$foQJ$Ld$XATLL$8_AXHHtmHt$0Ld$H\=LhL$$ufH9l$(tHExHHE9fHD$HD$H[]A\A]A^fD[HuH=LDLt$@H5LI~H9t ƟL >JD$8f.z f/$$?Ht$HLt$H$=L$$HT$8HLLHD$LPLL$ LD$ZYHt$$L$T$H=F1t$ RHD$HH|$8H,<L4Hff.fAWHHH<AVAUATUHH SHHYJHD$HD$D$ D$H\$HD$ H\$(HD$0H\$8HD$@H\$HPHD$PP1LD$8LL$H<_AYA1EtdLd$(H5;JI|$H9t |L4 \HD$ f.z f/vD$D$u%HD$HD$H[]A\A]A^A_fHT$0HfoFA DŽ$`y`D$XfoFD$hfoFD$xfoF$foF$foF$Ll$XAULL$HY^IH Ht$LhH9H|$ HC;ND$D$HcD$ HH9D$0HD$@HT$@HfoEADŽ$(`f`$foE $foE$foF$foF$foF$L$AVLL$X IXZMSIOHt$ H|$ L3HtD$D$ L9|$HtIxHIu L˯L9d$8I$HI$L蛯fDH|$ H9LLH|DHD$0D$ `f.H9H$1HH5qB萍H= HD@3H%H=LfDH=V1HD$HH=LfDAWfvHHAVHS9AUATUHH SHH%FH$HD$8D$(D$$H\$@HD$HH\$PHD$XH\$`D$,H\$hD$0H\$pH\$xD$4H$)$PHD$HPH$PH$PH$P1LD$xL$辝H0A1EtdLd$HH5EI|$H9t euL赫 CD$@f.z f/oD$D$u&HD$0HD$0Hx[]A\A]A^A_f.HT$PHfo*BA Hent `y`)$foBH$)$fo8B)$foB)$foB)$foB)$L$ATLL$hlAYAZIHHt$`Ld$$H7LhLD$D$L9|$XIHIL$H|$@H7L#HD H|H=LhfDHt$hLt$(HG7LD$D$@Ht$8H9teH|$ Hi7D$D$HcD$ HH9D$P}@H5H$p1HH5>襉H=HHD$PD$ 륾`fo@H$Hent `jacA f$h)$fo?H$H$`H)$fo@)$(fou@)$8fou@)$Hfo@)$XH$HD$PL$2_AXIH*Ht$xLHH9H|$,He6L $HD$wL\$L $D$D$tIHcD$,H9$L$HttH}6H$p1H5J=HD$@f.z f/D$D$u&HD$0HD$0Hx[]A\A]A^A_f.fo<fo<Hment `y`HD$Pfo%<fo-m=H$HT$Pfo5h=fop=Ƅ$H)$A)$ )$)$)$)$L$ATLL$h AXAYIHHt$`Ld$$H4LhLD$D$L9|$XIHILcfDH|$@HL3LcHsDKHlH=LXfDHt$hLt$(H3L?D$D$Afo=:fo <Hment `bj AH$`)$fo=:H$H)$X)$fo=:DŽ$pac`)$(fo=i;)$8fo=i;)$HH$HD$PL$^_IH)H@Ht$8H$H9H|$ H2L\$A9}W)Hc1LT$ L\$L H$x DD$L$H|L5D|$hL$DD$L\$LT$ DD\DAP:AA3YXn3A.Yf(\f$\Yf/f(Hz\HD$Yf/HcTD$hrH$x HLHcD$HtT$ d$L$ӒT$ d$L$D$AAMA`D$,U$AEAf.AH$x ff($\f(Yf/7HHL=%j!jL]!LH!PH5w!H=i,PAWAWL$ \H0fH$x ff($\f(Yf/A6f(\Yf/f(\Yf/F~5-f(1fTfTfTX5,YYf/D$,,H>tA]HD$HcTD$hwL$L5HH-j2MMLUH/ H5UH=p%AVAVZH(MMHjL=j2HPLH5H=&AVAPAWL$ VH0AOD|$x|$|B||$2H$ LL$AbH$ `u ǃH$ u ǃ fH$x O($f/ f/ `'^H$x O0f/W H|$D|$ ADL$DOǃ<ljD$ HL=H8jH= PAWAWHD$8LHH0H L= RjL LHfPH5 H=PAWAWHD$8LuHH0MA~A]f(fT\fT_f(fTXYf/H$P  A~?D$h11H$P _dH9}ҹIʃ@tL$hf/Y 6HcLHTH$x LT$HL\$@HT)T$P\$8_] l$0L$ FL$ LT$HY\$8L\$@l$0f(T$Pf(YYf( Y^XQ^AA\Mf(fT=]fTfV$>L$L5 H! PH MMj2LH5 H=PPAVAVFH(MMj2LH H5 H=H$PHPH PAVaFH$ $A$@hXf.z!f/u;HcLT$HH$x HcHTHc5 5 I$ t$H$ HLQHcH$ HLQHcH$ HLQHcH$ HLQH$ HLLLL\$P1H@}@L\$+4y%Ht$<ǃLT$;ǃNNDfnfnЃHD$fbǃ0L= fրtq<`LT$L\L L\$H b H PHH5T j PAV.@H0L$A$LT$L HFL\$MLH5PHH=MjH0H$X >1$AuH$X |Atf.zf/tfTfD(D^A_H9}@$L=kHtLT$L\$MMHyQH5aLH=;j2PPAWAW&>H(MMH-j Ht$`H9 L HJl$f(\$ ~= $DTD$0 |$PD1)t$0D9$DL$PL|$$t$ $AfH|$8Icf(DH+t$ C H|$f(H|$f(fTY^׋T$@ND9AOA_D)DB^fW9DiA)9tfHcHcf(Hl$$f(\$ AHt$`H|$pHi$)\$ l$(H@l$f(\$ ~=$DTAŋ|$P1҉D)AD9"HT$xH$Ht$fDAf(^ f(fTY_XAHʃu  L$H$t$0HxLHMHMLH?LYLHTPH?H\$xH1H$ ;Y^t$0HLHt$0~t$0L$H$t$8HLHH$AFLHL$ L$HHH$M MH ?H\$SH\$xH1H$ ;XZt$80LH_Ht$8)Ml$~t$8L$ HcD$0H I@X@H9u1Ht$`H|$pH$)\$ l$Lt$h1HH$LL$h A>l$$f(\$ UHt$`H|$pH}$)\$ l$<H=l$f(\$ ~=1$DT:f.fL=A@Aǀ(trH FL\$HPMTLOD$ DHL L$HL$ H={D$jHD$PARRLVLHD$,PbH0HAGAYATf._(ɾO 1Hf,fDfYHH9uHHcHYjITHOLNPH=LHD$PAPRHdH H^؅~d8fDf(^LH9f(f(^T\f(Y\f.zuAǀ(ø'f.f:L;IHIHLLHWIHHH0CH)H)΁Hfo AfoRAfoZ Afob0Afoj@AforPA foz`A0foJpA@foAPfoA`foApfAofAo(pI`fAofofAofAoHfAo Ahx fAo0@0fAo@fAoPfoH@H7PPHX``pHfLLHAHAo)Ao)BAo)B Ao)J0oHAo)R@oP Ao )ZPoX0Ao0)b`Ao@)jpAoP)Ao`)AopA))oA)A)A)Ho`@ohPop`I`oxpoA)A) AhA)0A)@A)Po)o)HH:6HfDAWfAVAUATIUHSLH L=F8HL$XHc AH|$HLL$8L$P HIALJ4L$X $HD$xHH$A0A)  Af(-fAd$pAD$AXl$@~-D$0DŽ$d$()l$`H$HL$xMIHHH$HDH$H$HD$H$HD$ D$0\\$@fT\$`fA/vA@A ALAA;\A@A XL$A˅!HL$XLcLd$PD$0ICMAHc HD$HICH$DʼnL$P HΉL$X I)IHcIIf);\$~LȍWL)H KO1Hf.fAf<fXHH9u9tHcHHAAXDAӃMM;l$0eLd$PH$L$P L$X HT$8LL\$LIT#L\$L$D$HL$IcT~HHLUHt$H|$ H1H|$LLI$p HD$8Ht$H|$ HNE A`EH1IH$ L$ $ $ AULD$hH$H|$@$ HD$@H084A\d$@ALJ AHAIGA$AT~Hc1H߉L$HFL$l$pD$H$X LILL$X l$PfL$E@L$0EAǃtPf(1fHf ftfA,fYf\ f\A HH9uу@9t)PHH$HcYA\DA\AHT$8LIT@!ATf(Ѕ~zAGǃtLf(1fHff fAdf<fYA<fXA HH9uԃ@9t!H YA AXDAY\$HAYf/DD$0E|$(Yf/f(^AYGd$P__d$PAGYt$@IcXH@A AY]Y^f/8 D$A9HWtl$(f(Xf/:Ht$H|$ HoT$(1H|$HLI$p HD$D$8Ht$H|$ H!A`ATXAǃtOf(1fHfDf fAftfYfXf\A HH9uՃ@9t(PHH$HcALYAX \AH$h HL1H$` $ E(E HT$8LITxATf(ЅAOǃtZf(1fHfDfAfA,fAdfXAfYfXAHH9u΃@9GHAAXAYAXDAA<t&AGHfHnGAHA@L$X ILIH$X A,ALJ A DHL$HLKH@BXDH@H9u'f(A8f(|$`DŽ$^A<A`AA$fTf(A]YY_D$@^tgHI6IcXH[zLǂY_=$f(YYf/wǂf(^<$ETEHD$xDELd$H$AL$@|$LIHA $H\$ HL$P D\$HtDiDAYA f(I 1HffHfY@H9uIcE9tHDYDHLD9uLd$H\$ L$P Y$D$YAAf(AE"HI`IchATD$@H@A^Dž~U۹O˃t5f(LfHLfHfYPH9u˃tCHAYAALJ0AXH []A\A]A^A_à A=5~%mfDŽ$l$pl$(|$@)d$`AXf.AAAD$AXD$0:L$LIALJ,L$0HT$8LL\$IT\$0}L\$McX\$0f(DT$PKRA^f/T$@|$A4AD$HA4AD$ËD$P HD$XT$PLcAML$0H$DʼnT$0ISH$ISL$P HcHcL$X II)II@)9\$|vLЍWL)Hi`KO1HfffA<f\HH9u9tHcHHAA\DAӃMM;l$0mL$H$L$P L$X A%TAf(l$`YHfTI`f/ |$H |$H ^IcT_T$YA~HHLL\$jIL\$Ht$H|$ L\$HjH\$1LLIH$p ;L\$Ht$H|$ L\$H#ATL\$A`A~cƃt?f(H$1fHfADfYHH9u@9tHcЃH$HADYDAA@ALJA AX= AAL$H$LKHѐ@B\DH@H9uMcXKRDT$PA^nAOD$PLIAYHP/fTL$`d$pL$^_@f.@z f/@ADfL-/ALJX-?fALJ8IhAEIwxH=AHXALJI`HGILJIGA@ALJA H AIHAXIEL$P d$pl$@#IhIwxfA(fA(`H=fA(fAfAfApfYfA(fAfYA)A)AAY@AA8ApAfA$fAfYA`fAA)E AfAfYA@fAA)E0AfAfYA fAA)E@AfAfYAfApA)EPA0fAHfYA`fAxA)E`AfAPfYA)EpAXd$pA~=L$P DŽ$AD$0d$()|$`Af*Ћ$^…~WHcH@HHc$ItIL$P D$HHL$ɹHNPDL$P D$L$HL$XAWAAD$0YA^AD$AAA#AA)A$ILH$D$AALJ $$DhAXA`AHL$XMcLd$0D$HCMAHc HD$ HCHl$HL$P HΉL$X I)IHcEIHA)D9,$|sLЍWL)HLCKO1HffA$f\HH9uB*9tHcHH\DAIID;\$mLd$0Hl$HL$P L$X A|$qA(bAf(|$`YfTf(f/$$A9PA@=f(DŽ$AA<A A8$$HL$ LJH@B\DH@H9uA@A ADAAu ALJH(A9<f%DŽ$A|$p|$(~=d$@)|$`BALJ4'f(|$`A<f(AA`fTf($^_IhIwxL$P AI<A8f~-ld$pAL$P $AAXd$(%D$0DŽ$d$@)l$`DALJ4GALJ47A$IMH$D$IމD$MH$DŽ$LMfE8fL$@$A*L$P ^f(Cl$@|$PY$XL$P ^f$IcHD$xH$ITHT$8HDHt IcXfl$@*ȉD$PH@A^^f(,CYT$ OL$P XD$@^AA<f(l$`L-%HIc8fTAYm_-$A;}T^]$HcL$PT^]$$~T^]IE$f/ f/qf/SIc8fAT*ADHщT$0 $^…~lHcHT$xH$t=f(HtfHI1fAfYHL9u@9tHcȃHHAYDD$0L$0A$AX$A8;D$PLAME8L-[$ALJ4AhA<A\D$AAEATA@MOHIDH$HD$ D$HEHD$0AHD$0f(fH1fA f<fYfX HH9u9t$ t!D$HcЃHHAYXDDIHL$xL9 $uA8A$AAuIcA98aATHD$xHcL $H$HHDH|?;D$@ $IchH@A^'L۸ MALJXD$0AALJ8$ED$PA4$D$0xZt.$Hct$0HDY$Yf/Ds:u6f/$vBALJ;|$@]$}$]%$$D$0H $;D$Pf(|$`A8f(AAA`fT$f(/f/$A4D$PD$0E8IcA9OAT~kHT$xH$t9LD1HfAfA<f\A HH9u@9tHHHcHA\DAHT$8LITL$P $E8fd$@AXAE*HcL$PH@A^^f(&=d$@$Y3L$P X+^f(|$@|$PAYf/|$pfA.}z fA/}fL$@LT$ A*L$P l$$^f(L$y<t$@$%nnl$fTl$`YL$L$P AYmLT$ X$^Yf/-0bf(X]A$;L$PCDC^DxYL$P \$ d$T$;d$\$ l$@L$PYL$P T$X^$$AYEf/$>AAADžf(d$`IEA@AAfTAXA`ALJ<f(A$A8DŽ$AD$P-rA9AN$?f|$@AL$P A*;L$P^ CDxf(C^Dl$ YT$<$D$M:L$P<$f(%@@D$@L$P Yl$ T$X^Af(t$`fTY$Yf/ Df(Xl$ f(f(]f(L$P $$$T$L$0t$P9AM$$T$YD$@$L$P YX^Y f/_- $f(9T$L$P f(AYYD$HYL$f/L$0IEAl$ ADžAILJ<A`AXA$t$PA8DŽ$`AL$H$ITHHD$xHT$8L$P \$0d$ HDT$HtL$f|$@A*IcA^Dx^f(7d$ \$0|$@L$YT$L$P X^$*HBD^$HHcL^$AfL$HT$8*|$0A|$@HHD$xH$ITT$ ^HDHt<$Ic $A^DD$7|$@L$%f(AT$ YL$P X^f(|$0AXfۉD$Pf.fHхAf( ]1fHffHfTfYf_H9uf(fʉ@f_D9tHfTY_f(ff(fɐAWAVAUATUSHHhHH|$L$>EwAHHH]A\f.f/r1 +HID$HD$HĿLH$8H5LDXHL H5pL XLA111]%f.kff.kff.ff.Xff.[Hff.[Uff.K ff.K(ff.+ff. ff.6ff.kff.+.ff.%ff. ff.kff.[@ff.;ff.3ff.ff.{ff.,ff.KFff.Yff.ff. ff.Mff.ff.{3ff."ff.+ff.; ff.Vff.{'ff.'ff.ff. 1ff.+ff.Kff.k7ff.7ff. ff.kUff.kff.;*ff.ff.ff.ff.Kff.ff.Nff. Aff.+ff.{ff."ff.{ff. ff.ff.ff.Off.@ff.Dff.3ff.;#ff.ff.ff. ff.5ff.:ff.7ff.,ff..ff.ff.$ff.{ff.ff.%ff.[ff.ff.[#ff.{6ff.{ff. ff.{ff.kff.Kff.K(ff. >ff. 'ff.;ff.;ff.ff.Kff.5ff.ff.ff.{8ff.;ff. Cff.;ff.ff.7ff.[ff.;ff.ff.ff.[ff.Cff. ff.ff.ff.ff.ff.ff.ff.ff.;+ff.ff.+ff. ff.Dff.k2ff.0ff.3ff.{Cff.ff.-ff.k!ff.ff.k'ff.ff.ff.;ff.K5ff. ff.[ff. ff.ff.{ff.kff.{ff.ff.ff.kff."ff.k ff.ff.ff.8ff.ff. ff.!ff.;5ff.;ff.+ff.Kff.ff.+(ff.ff. ff.ff.Kff.ff.0ff.ff. ff.ff.{6ff. 6ff.ff.ff. ff.*ff. ff.ff.>ff.3ff.-ff.ff.#ff.+ff.ff.[>ff.{ff.Kff.ff.kff.9ff.k ff.ff.ff.ff.ff.[9ff.ff.ff.;ff.k%ff.;ff.[#ff.ff.ff.-ff.ff.Kff.#ff.; ff.Kff.0ff.=ff.ff. 'ff.&ff. ff.ff.ff.{ff.Kff.K;ff.;,ff.ff.[ff.{:ff.K3ff. ff.Kff.+*ff.2ff.ff.[ff.ff.ff.:ff.{0ff.ff.ff. ff.[ ff.ff.;ff.;ff.Kff.{1ff.ff. ff.ff.kff. ff.kff.[ff.ff.6ff.ff.:ff.ff.;ff.ff.ff.+ff..ff.[ff.ff.ff. 4ff.%ff.ff.[ff.+ff.Kff.ff.k,ff.;'ff. *ff.ff.'ff.Kff.ff.ff.ff.ff.ff.;1ff.{*ff. ff.ff.{ff. ff.K ff.ff.ff.ff.ff.ff.{ff. ff. ff.{ff.Kff.ff.;1ff. ff.ff.+ff.ff.ff."ff.ff.ff.ff. ff.ff.ff.kff.[ff.kff.Kff.ff.;ff.{6ff.;ff.Kff. ff.+ff.+ff.{ff.ff.ff.ff. ff.+ff.kff.ff.;ff.ff.[ff..ff. ff.Kff.{ff.{2ff.;ff.ff.+&ff.{ff.[ff.ff. ff.{ff.ff. %ff.;'ff.ff.;"ff.Kff.K5ff.K!ff.ff.%ff.ff.ff.ff.kff.;ff.Kff.ff.ff.ff.ff.{ff.kff.+ff.kff.$ff.ff.+ff.[(ff.kff./ff.ff.{%ff.Kff.ff.ff.Kff.ff.ff.ff.+ff.{(ff.+ff.;ff.ff.ff.ff.kff.kff.ff.ff.+ ff. ff.ff.#ff.ff.;ff.;ff.{ff.ff.*ff.ff.$ff.[ff.{ff.;ff.ff.'ff.ff.1ff.,ff.kff.ff.ff.ff.{*ff.'ff.;ff.ff.ff.ff.k$ff. ff.+ff.ff.ff.ff.+ff.ff.ff.{ff.ff.'ff.K*ff.ff.ff.{ff.{ff.#ff.ff.kff.ff.ff.[$ff.+ff.[ff.ff.ff.{ff.ff.ff. ff.;ff.+ff.ff.ff.$ff.ff.{ff.kff.;ff.ff.ff.ff.ff.[ff.ff."ff.[ff.ff.ff.+ ff.+ff.;ff.+ff.ff.ff. ff.ff.#ff.$ff.K,ff.ff. ff.ff.ff.&ff.ff. ff.K*ff. ff.ff.{ff.kff.Kff.ff.(ff.[ff.Kff.ff.kff.k%ff.ff.ff.{$ff.ff.ff. ff.ff.ff.{ff.ff.[ff.ff.ff.ff.{ff.ff.ff.ff.ff.ff.ff.{ff.ff.ff.ff.ff.ff.ff.ff.ff.+ff.{ff.;ff.ff.ff.ff.Kff.ff.ff.ff.$ff.)ff. ff.ff.ff.!ff.{ff.[ff.ff.kff. ff.{ff.#ff.Kff.[ff.+ff.+ff.{ff.[ff. ff. ff. ff.ff.ff.ff.Kff.+ff.ff.[ff.ff.ff.[ff.ff.ff.ff.ff.kff.%ff.;ff.[ff. ff.Kff.ff.;%ff.ff. ff. ff."ff.;ff.ff.ff.kff.$ff.ff.kff.ff.;ff.;ff.+ff.;ff.ff.[ff.ff.;ff.[ff.{ff.kff.+ff.[ ff.ff.[ff.ff. ff.{ff.ff.ff.ff.+ff.+ff.ff.;ff.ff.+ff.ff.{ff. ff.Kff.ff.[ff.{ff.ff.ff.+ff.ff.+ff.[ ff.;ff.[ff.ff.kff.ff.+ff.ff.ff.+ff.Kff.;"ff.Kff.ff.Kff.kff. ff. ff.[ff.ff.!ff.髽ff.ff.kff. ff.ff.Kff.ff.ff.ff.kff.ff.{ff.ff.+ff.Kff.Kff. ff.{ff.髾ff.ff.ff.;ff.{ff.ff.ff.ff.{ff.ff.[ff. ff.ff. ff.Kff.[ ff.ff.ff.ff.kff.ff.[ff.ff.;ff.+ff.ff.+ff.ff.+ff.kff.+ff.ff.Kff.;ff.kff.鋽ff.Kff. ff.ff.Kff.ff.ff.ff.{ff. ff.{ff.ff.kff.ff.ff.+ff.ff.ff.[ff.ff.ff.ff.{ff.+ff. ff.[ff.;ff. ff.[ff. ff.ff.ff.[ff.黿ff.ff. ff.+ff.;ff.kff.kff.;ff.ff.[ff.[ff.;ff.ff.ff.ff. ff.ff.ff. ff.ff.;ff.[ff.{ff.ff.˺ff. ff.{ff.[ff.ff. ff.ff.ff.ff. ff.ff.+ff.ff.ff.{ff.ff.ff.ff.ff.kff.ff.ff. ff.+ff.髹ff.ff.Kff.ff.ff.;ff. ff.[ff. ff. ff.ff.ff. ff.ff.kff.ff.ff.;ff.ff.ff.;ff.˸ff.[ff.;ff.ff.+ff.{ff. ff.ff.ff.;ff.{ff.ff.ff.˽ff.ff.;ff.ff.kff.Kff.[ff.ff.˼ff.+ff.ff.ff.ff.;ff.;ff.ff.ff.;ff.ff.ff.[ff.kff.ff.ff.ff.{ff.ff.ff.ff.黯ff.{ff. ff.ff.ff.+ff.ff.ff.kff.Kff.ff.ff.Kff. ff.ff.˯ff.ff.kff.雬ff.ff.{ ff.Kff.{ff.ff.ff.kff.ff. ff.ff.ff.; ff.ff.ff.ۮff.ff.ff.ff.ff.{ ff.ff.ff.ff.ff.ff.ff. ff.髺ff.ff.ff.;ff.ff.Kff.黺ff.+ff.ff.ff.ff.髹ff. ff.[ff.;ff.ff.ff.ff.Kff.+ff. ff.黨ff.ff.ff.ff.kff.{ff.ff.[ ff.;ff.{ff.ff.ff.;ff.鋻ff.kff.;ff. ff.kff.ff.ff.Kff.ff.ff.[ff.ff.Kff.ff.ff. ff.[ff.ff.ff.ff.[ff. ff.[ff.ff.+ ff.ff.;ff. ff.{ff.ˮff.{ff. ff.{ff.{ff.雯ff.ff.ff.ff.ff.ff.ff. ff. ff.ff.Kff.髼ff.[ff. ff.[ff.;ff. ff.Kff.ff.{ff.ff.ff.[ff.;ff.ff.ff.ff.ff.ff.ff.ff.+ff.kff.黰ff.[ff.ff.Kff.[ff.[ff.ff.ff. ff.ff.kff.;ff.[ff.[ff.ff.ff.ff.ff.ff.ff.ff.ff.Kff.ff.鋼ff.ff.{ff.ff.{ff.[ff.ff.ff.Kff.ff.kff.ff.ff.;ff.黬ff.ff.Kff.Kff.[ff.kff.Kff.+ff.ff.Kff.ff.;ff.kff.ff. ff.ff.[ff.ff.ff.ff.kff.ff.kff.ff.; ff.ff.ff.ff.ff.ff.ff. ff.[ff.kff.ff.鋬ff.ff.+ff.{ff.ff.{ff. ff.ff.ff.;ff.ff.黭ff.髩ff.;ff.[ff.ff. ff. ff.ff.ff.;ff.[ff.{ff.ff. ff.{ff.ff.ff.kff.;ff.ff.{ff.{ff.{ff.黧ff.ۺff. ff. ff.ff. ff.[ff.Kff.ff.ff.kff.kff.ff.kff.kff.ff.kff.ff.ff.;ff.ff.+ff.kff.+ff.{ff.+ff.ff.ff.+ff.ff.;ff.ff.Kff.[ff. ff.ff.kff.ff.ff.ff.ff.+ff.ff.ff.ff.ff.髻ff.ff.鋳ff.雲ff. ff.ff.;ff.ff.ff.ff.黲ff.;ff.ff.+ff.ff.Kff.[ff.鋮ff.۟ff. ff.ff.ff.kff.kff.+ff.[ff.高ff.kff.{ff.۠ff.髠ff.雚ff.۩ff.ff.˟ff.ff.ff.ff.ff.kff.鋱ff.ff.ff.雮ff.+ff.˩ff.Kff.;ff.+ff.;ff.[ff.Kff.ff.ff. ff.;ff.ff.ff. ff.Kff.;ff.ff.Kff.{ff.髦ff.˸ff.{ff.kff.Kff.ff.ff.雗ff.ff.˦ff.ff. ff.;ff.۔ff.ff. ff.ff.;ff.ff.+ff.ff.Kff.ff.ff.{ff.ff.+ff.ff.Kff.Kff.{ff.kff.{ff.[ff.;ff.ff.鋩ff. ff.Kff.ff.ff.ff.{ff.ff.ff.ff.{ff.{ff.ff.Kff.Kff.ff.鋽ff. ff.+ff.ff.Kff.鋲ff.Kff.ff.+ff.髚ff.ff.ff.kff.髜ff.ff.Kff.ˣff.ff.{ff.{ff.Kff.;ff.ff.ff.ff. ff.kff.髵ff.[ff. ff.ff.ˬff.˹ff.۷ff.雴ff.ff.雽ff.+ff.ff.鋚ff.ff.;ff.Kff.ff.Kff.˴ff.Kff.ff.ff.kff.ff.雗ff.ff.[ff.ff.ff.ff.;ff.ff.ff.˰ff.ff.ff.髽ff.鋑ff.ff.ff.ff.ff.[ff.+ff.ff.ff.+ff. ff.ff.ff.Kff.ff.[ff.[ff.+ff.ff.ۻff.ff.ˬff. ff.{ff.ff. ff.{ff.雤ff.{ff.雔ff.Kff.ff.ff.[ff. ff.ff.ff.ff.[ff.;ff.ff.Kff.ff.ۺff.ff.ff.+ff.雖ff.ff.;ff.Kff.{ff.ff. ff.Kff.ff. ff.;ff.{ff.;ff. ff.;ff.kff.ff.f.H>HDHHX@AWHY1AVAUATUHSHHHL$PDd$HtHHH9L|H)A~HAD$Lt$XLl`L%X@ILHL1%HHx>H9}9IIH)M9uH~%H$A)IGt2HH)[]A\A]A^A_HH[]A\A]A^A_f.H~fo_IGAGAUATUHSHHHHpH9t Aąt;=̒HE8D` HD[]A\A]@D`(H[]DA\A]fDHEHH诶H5XH(IHHXH~kH@1Ht/IEH<"A9DLHH9t:IEHuI|fDeH[]DA\A]fDIE HIELAfDAWAVAUIATLcUHSHHH $OHxIcMH4$IA9IE 1A%I~ M9zM MHH9t)LLLMyMMLDHH9uHHfDHDHA9~HLHyHcHA9xLHIHDLM9LLH5\WHmEH813HH[]A\A]A^A_@EtmIcLLM1MHEEH5WH81֩HDf.AD1kHDH5kVH81聩IHDLH5VH81\$AA1EIM 1 I9tH`MtPIHI9t#LlHAMyH\HHI9uI97LH5}VHDLt$HtLcLILDI<H5U1耊HCLH861AωA91Df.9{IU HcHH9IHH~9}LƒM9|E=1Af.L\HA9M9(Lt$QLWEMH$VL1E1:Y^LJLHHRH)I<I1E9L1۽賘HRI<H)1A}~3L舘IU HH)I<1H HlRHA9]LVH]RH)I<1|WM9MI Lt$QHUEWMйL1#XZA1~1IU yHBL1 fDHH:HI9uIcLLMMx A9 EH1E1fD9~lME HcIH9tMLI~L9~=CMxMM9uLMuHAHE9uD9MG@LAMyLDLt$HtLL\$L$L\$L$LL\$L$蟖L\$ADL$I<H5US1Lȉʉ@HHGxu"L`Mt6HXHAHY@H5SH81踤1HÐH)@H5PH81蘤fDAWAVAUATIUHSHH Ht@;IHt#AEtAEHĸL[]A\A]A^A_ÐHufDAD$$LcMt$1MipDHpL9I4HM<(uIcGI`HMGHL趜IL=HL$@ILHՃ|$@I\$sLXMHHHSE1PHxjhjIH D H=NHH=:H؅t} H=NHu <$OHALHHIHENHHE@H3fMl$ fDH=MAL$IDžHD$@Ld$LHD$HD$0Hl$8,HiDhHL$ LLD@IHM1׸IUHIƅxHIUH;HL$H9-H)H|$(M,I$HarAEscalIUIfAEI0 HrLL)LIɍLL~IIx HIIx HIkHD$HD$p;XMHHD$HB.H|$0HHHHHhDPHT$ HX $HT$(HHLpdLt$LIH<$bHHّLt$II9HHL*MK,M)IL)MIHD$dAdt@HDŽ$Hp.H$HHLLL$pHpHL$ITI)>fDL@L0dME1H;HL$LH5tNH81Lڋ1LH% fDLHD$ ӢHD$ ]fHl$8II|$ LHؖE1MMcDkII\$Cp\MG$HL$ HHLJL1莵HH HL$H9H)IIL-9$ID$11HX腻IH1$'IUHH HtHx HHtH]f.蛡H]fATH5IUH]H赬HtxHEu3H=IGIHEx HHEt2HL]A\HH=_I1If.HHL]A\DHH=3I]A\եDHtHH8HH5IH81wHt HfAVIAUATUHH芼HLHIIHtH}I{HH躳HHtdHLLTu?HEx HHEtHL]A\A]A^HHL]A\A]A^H5ZLH=NH5LH=NۏH5|KH=NȏH5KH=N赏DATI薻Ht.LH~IHtH|IHuLA\H5 LH=5N`H59LH="NMff.fATSHH=HzIHtS荲ID$ HtcCI\$H=MGAD$H3t:H=AGu(#I|$ H5FHߒHL[A\@H=G1DLE1AWAVAUATUSHHHtH=Q̘IHf۱ID$ H=AD$H;*HpfDH1HpHHuAD$1E1I\$HXDPHHcTDhIAHID$LRE1LHIzPLXHHjhAIXZMID$I|$ LH4(}Ix HIAD$AHpA9}=I\$H<+)IHu@I$xHI$E1HL[]A\A]A^A_DHH~IMtIx HIt@Mt=L~"I^(MfDL耜BA^ M@L`LVgIEHI8L0+ff.AWAAVIAUMATAUSDHH $H~DhHAH=x~RD`(LL;-]3HP~I}HpH9t VTAE@IM8IcD=~M AHq(H9~H$4$LLG t AEtAEHEHHEsHMD<$E$MMlL HI9H8yfouJD$ht (Hs but goLt$HD$`HCD$foUJD$ foXJD$0fo[JD$@fo^JD$PfLIIWHI<1xM9uLA)fE,H1LH8HExHHEE1HHL[]A\A]A^A_f.H|1@HLE1E1HxjRT$^_IH=?|I@8IcH9h(uH$|ApL$Ix L$1HIxHĎL$LHH{HtHUxHHUH={IcHP(H*LAąH$Lt$tH$LݡLuIUH5EI<1HRvH0LH8iE1D` y L;- 0_H{I}HpH9gZ1@HLE111DHz(IHAt!=zH@8vLh(IcI94$LLL$H$L$D9` fo>GAayD$BfDL$@D$fo0GD$ fo3GD$0Lch Hl$L$H LDH5DH|1uH.HH8L$I HILDD` H@H$4$LLމك@ YHHyIM @AUE1E1@HxjVHA[A\IH\H$HHyLL$-?IEIPIUAPI@AEAUIP A@IE IU IP(I@ IE(IU(IP0I@(IE0IU0IP8I@0IE8IU8AP@I@8AE@AU@A@@Ix HItAEt AEMHcq !HHD$cHD$LHQE1Z=wI}8HG(IcH9Go AG eIEdARAE@0%= {foCIU8D$8Ht) arrayHD$0AE@D$foCD$ %=z> =vHJ(IcH $Lt$H9t%LH $DH5AI<1rIU8B- `AA v*LH$豁H$MH5AI<1R3rIEA|L^DH5<I<1qZ@fo(CAayD$BfDT$@D$foCD$ foCD$0Lh(IEH5,AHPH+H81HE HEHHEHL$ؒL$foBD$8Lt$He) arrayH\$0D$foAD$ A~qLi(I9gLILDH5?I<1pBD9` foAyD$0arrafT$4D$fo;BD$ Lch Lci foOAD$8He) arrayH\$0D$fo>AD$ Lt$HLHL$H$HL$H$foAL@ foA@ HcG bA1IH ~u AW_AU eAG%fod@yD$0arrafL$4D$foAD$ AW%=u z>foj@D$XD$8foh@D$H\D HcJ Vt  AOA kAA]fo?D$PHntiguousHD$HD$8LhAwt}%=91ɀ>+AG1A DAAA%1=%1=|ff.@AWIAVAUATUSHxHcoH|$H$HipLw1HpH9I4LM,谱AąuE}AM`MH$H;&L-y3EIcHl$0HH!EPHKqDh=3qHp Hx HHHDDAjLL$H$Y^IHL|$Iu HL$,HIGHHx`MGIMcxIxJH1HD$HxHHXHpHAuHuHmpAuI} H=GpIU8HR(HL$HIuHIHX諐L;,$tIExHIEHxD[]A\A]A^A_f.HD$Hx Ht2H<$t[H$HxL[]A\A]A^A_.fDp(y{HHD$Hx HuSDHcR >LAą^Hf$H5;H8臡CfE}IcHl$01LD$HHLD$HL$,I}HE1HAHD$L@IAHLc.LcHLD$JE1蓁LD$E1H`AAAPHnIUHT$h=|nHT$Hjp Hx HHHADjLL$pIXZMA(t$nt$L] p(H #H53AH8'fHl$0t$HT$t$HT$_Hl$0L;,$tIEhHIEZLԊMff.@AVMAUAATIUSHHXmh=CmH~>p(Hx HHt3HMADjLBH []A\A]A^Dp t$ ?t$ fHlIHLHAWAVAUIATUHSH8HH%HHlHpPH9uHelH}HpH9guH}HHcH~H9HG RHHXÐHAH55H811HXÐHiH HXf.HH1蒠Ht HHD$&HD$Hff.H1腤HtHHD$HD$H@HAH9GHH|:_test_odeint_banded.getbandsPython int too large to convert to C intOOOO|:_test_odeint_banded.banded5x5_solve_test_odeint_banded.banded5x5_solve() 2nd argument (nsteps) can't be converted to int_test_odeint_banded.banded5x5_solve() 3rd argument (dt) can't be converted to double_test_odeint_banded.banded5x5_solve() 4th argument (jt) can't be converted to intOOO|O:_test_odeint_banded.banded5x5_test_odeint_banded.banded5x5() 1st argument (t) can't be converted to double_test_odeint_banded.banded5x5() 1st keyword (n) can't be converted to int(len(y)>=n) failed for 1st keyword nOOOOO|OO:_test_odeint_banded.banded5x5_jac_test_odeint_banded.banded5x5_jac() 1st argument (t) can't be converted to double_test_odeint_banded.banded5x5_jac() 3rd argument (ml) can't be converted to int_test_odeint_banded.banded5x5_jac() 4th argument (mu) can't be converted to int_test_odeint_banded.banded5x5_jac() 1st keyword (n) can't be converted to int_test_odeint_banded.banded5x5_jac() 2nd keyword (nrowpd) can't be converted to int(shape(jac,0)==nrowpd) failed for 2nd keyword nrowpdOOOOO|OO:_test_odeint_banded.banded5x5_bjac_test_odeint_banded.banded5x5_bjac() 1st argument (t) can't be converted to double_test_odeint_banded.banded5x5_bjac() 3rd argument (ml) can't be converted to int_test_odeint_banded.banded5x5_bjac() 4th argument (mu) can't be converted to int_test_odeint_banded.banded5x5_bjac() 1st keyword (n) can't be converted to int(shape(bjac,1)==n) failed for 1st keyword n_test_odeint_banded.banded5x5_bjac() 2nd keyword (nrowpd) can't be converted to int(shape(bjac,0)==nrowpd) failed for 2nd keyword nrowpd_ARRAY_API is not PyCapsule objectmodule compiled against ABI version 0x%x but this version of numpy is 0x%xmodule was compiled against NumPy C-API version 0x%x (NumPy 1.23) but the running NumPy has C-API version 0x%x. Check the section C-API incompatibility at the Troubleshooting ImportError section at https://numpy.org/devdocs/user/troubleshooting-importerror.html#c-api-incompatibility for indications on how to solve this problem.FATAL: module compiled as unknown endianFATAL: module compiled as little endian, but detected different endianness at runtimenumpy._core.multiarray failed to importcan't initialize module _test_odeint_banded (failed to import numpy)This module '_test_odeint_banded' is auto-generated with f2py (version:2.3.4). Functions: jac = getbands() banded5x5(t,y,f,n=len(y)) banded5x5_jac(t,y,ml,mu,jac,n=len(y),nrowpd=shape(jac,0)) banded5x5_bjac(t,y,ml,mu,bjac,n=shape(bjac,1),nrowpd=shape(bjac,0)) nst,nfe,nje = banded5x5_solve(y,nsteps,dt,jt) COMMON blocks: /jac/ bands(4,5) .Nrealiii%s: banded5x5:n=%d%s: banded5x5_jac:n=%d%s: banded5x5_jac:nrowpd=%d%s: banded5x5_bjac:n=%d%s: banded5x5_bjac:nrowpd=%dnumpy._core._multiarray_umathnumpy.core._multiarray_umath_ARRAY_API_ARRAY_API is NULL pointer2.3.4__version____doc____f2py_numpy_version___test_odeint_banded.error__test_odeint_banded_erroryfmlmunrowpdnstepsdtjt_test_odeint_bandedgetbandsbanded5x5banded5x5_jacbanded5x5_bjacbanded5x5_solve_test_odeint_banded._test_odeint_banded.getbands: failed to create array from th_banded.banded5x5_solve: failed to create array from the 1st arg5: failed to create array from the 2nd argument he 3rd argument 5_jac: failed to create array from the 2nd argumom the 5th argum5_bjac: failed to create array from the 2nd argurom the 5th argu../scipy/integrate/tests/banded5x5.f(1X,"Error: istate=",I3)dy=vIh%<=g<2hefijk- (.lsoda-- warning.. rwork length is sufficient for now, but may not be later. integration will proceed anyway. length needed is lenrw = i1, while lrw = i2.lsoda-- warning.. iwork length is sufficient for now, but length needed is leniw = i1, while liw = i2.lsoda-- warning..internal t (=r1) and h (=r2) are such that in the machine, t + h = t on the next step (h = step size). solver will continue anywaylsoda-- above warning has been issued i1 times. it will not be issued again for this problemlsoda-- a switch to the bdf (stiff) method has occurred lsoda-- a switch to the adams (nonstiff) method has occurred at t = r1, tentative step size h = r2, step nst = i1 lsoda-- repeated calls with istate = 1 and tout = t (=r1) lsoda-- at t (=r1), ewt(i1) has become r2 .le. 0.lsoda-- at t (=r1), too much accuracy requested for precision of machine.. see tolsf (=r2) lsoda-- at t(=r1) and step size h(=r2), the error test failed repeatedly or with abs(h) = hminlsoda-- at t (=r1) and step size h (=r2), the corrector convergence failed repeatedly lsoda-- at current t(=r1), rwork length too small to proceed. the integration was otherwise successful.lsoda-- at current t(=r1), iwork length too smalllsoda-- istate .gt. 1 but lsoda not initialized lsoda-- istate = 3 and neq increased (i1 to i2) lsoda-- ml (=i1) illegal.. .lt.0 or .ge.neq (=i2)lsoda-- mu (=i1) illegal.. .lt.0 or .ge.neq (=i2)lsoda-- tout (=r1) behind t (=r2) integration direction is given by h0 (=r1) lsoda-- rwork length needed, lenrw (=i1), exceeds lrw (=i2)lsoda-- iwork length needed, leniw (=i1), exceeds liw (=i2)lsoda-- rtol(i1) is r1 .lt. 0.0 lsoda-- atol(i1) is r1 .lt. 0.0 lsoda-- ewt(i1) is r1 .le. 0.0 lsoda-- tout (=r1) too close to t(=r2) to start integrationlsoda-- itask = i1 and tout (=r1) behind tcur - hu (= r2) lsoda-- itask = 4 or 5 and tcrit (=r1) behind tcur (=r2) lsoda-- itask = 4 or 5 and tcrit (=r1) behind tout (=r2) lsoda-- at start of problem, too much accuracy requested for precision of machine.. see tolsf (=r1) lsoda-- trouble from intdy. itask = i1, tout = r1lsoda-- repeated occurrences of illegal input or with abs(h) = hmin lsoda-- istate (=i1) illegal lsoda-- itask (=i1) illegal lsoda-- neq (=i1) .lt. 1 lsoda-- itol (=i1) illegal lsoda-- iopt (=i1) illegal lsoda-- jt (=i1) illegal lsoda-- ixpr (=i1) illegal lsoda-- mxstep (=i1) .lt. 0 lsoda-- mxhnil (=i1) .lt. 0 lsoda-- hmax (=r1) .lt. 0.0 lsoda-- hmin (=r1) .lt. 0.0 lsoda-- mxordn (=i1) .lt. 0 lsoda-- mxords (=i1) .lt. 0  ?333333?Y@MbP?@{Gz?i@@@???ffffff???ffffff???333333??333333???UUUUUU?@?@@ffffff?@?ư>rZ| ???333333?v !>h㈵>ffffff?_eG|>?kNuϵ>??$@../scipy/integrate/odepack/xerrwv.f(6x,'in above message, i1 =',i10)(6x,'in above message, i1 =',i10,3x,'i2 =',i10)(6x,'in above message, r1 =',d21.13)(6x,'in above, r1 =',d21.13,3x,'r2 =',d21.13)(1x,15a4)@@@?"@&@(@*@@@@@@ @"@@@34<intdy-- k (=i1) illegal intdy-- t (=r1) illegal t not in interval tcur - hu (= r1) to tcur (=r2) ../scipy/integrate/mach/d1mach.fD1MACH(I): I = is out of bounds.<Error loading %s function %sscalar %sarray %s%ld, -- input not %d-alignedover-writing fortran routine%d-%s%c%ld-%s-scalar)-%c%ld-%s%s instancefortranf2py:fortranobject.c:get_elsize%d-th dimension must be fixed to %ld but got %ld %d-th dimension must be %ld but got 0 (not defined). unexpected array size: new_size=%ld, got array with arr_size=%ld (maybe too many free indices) -- %d-th dimension must be fixed to %ld but got %ldunexpected array size: new_size=%ld, got array with arr_size=%ld too many axes: %d (effrank=%d), expected rank=%d -- %d-th dimension must be fixed to %ld but got %ld (real index=%d) unexpected array size: size=%ld, arr_size=%ld, rank=%d, effrank=%d, arr.nd=%d, dims=[this fortran object is not callablefortranobject.c: fortran_doc: len(p)=%zd>%zd=size: too long docstring required, increase size F2PySwapThreadLocalCallbackPtr: PyThreadState_GetDict failedF2PySwapThreadLocalCallbackPtr: PyLong_AsVoidPtr failedF2PySwapThreadLocalCallbackPtr: PyLong_FromVoidPtr failedF2PySwapThreadLocalCallbackPtr: PyDict_SetItemString failedF2PyGetThreadLocalCallbackPtr: PyThreadState_GetDict failedF2PyGetThreadLocalCallbackPtr: PyLong_AsVoidPtr failed -- failed to determine element size from %s -- expected elsize=%d got %ld -- expected at least elsize=%d but got %ld -- expected elsize=%d but got %ld -- input '%c' not compatible to '%c'failed to initialize intent(inout|inplace|cache) array, input '%s' object is not an arraydelete non-existing fortran attributef2py_size: 2nd argument value=%ld fails to satisfy 1<=value<=%ld. Result will be 0. F2PyGetThreadLocalCallbackPtrF2PySwapThreadLocalCallbackPtr, not allocatedfailed to initialize intent(cach -- input must be in one segmentlize intent(inou -- input not co -- input not fortran contiguousfailed to create intent(cache|hide)|optional array-- must have defined dimensionlize intent(in) ;4P(5(5<5P5@55ЙX66@P77808@90909h9P|9 :@@A@AA!PB!hB$B&C.XC1pC`2C6D6D8D 8D08D@8 EP8 E`84Ep8HE8\E8pE8E8E8E8E8E8E9E9F 9$F098F@9LFP9`F`9tFp9F9F9F9F9F9F9G9G9(G:PL >dL0>xL@>LP>L`>Lp>L>L>L>M>M>,M>@M>TM>hM?|M?M ?M0?M@?MP?M`?Mp?N?N?0N?DN?XN?lN?N?N?N@N@N @N0@N@@ OP@ O`@4Op@HO@\O@pO@O@O@O@O@O@OAOAP A$P0A8P@ALPPA`P`AtPpAPAPAPAPAPAPAQAQA(QB>,>@>T>h>|>>>>>>>??0?D?X?l???????? @ @4@H@\@p@@@|@x@t@p@l@hAd$A`8A\LAX`ATtAPALAHADA@A<A8B4B0(B,A` O I<ؑBHD D DBH l DBF DHBGNxL04BEB A(G0u (D BBBH L (D BBBA cBz A (8BAN d DBE TȒUBBB B(A0A8G@HEPKHA@ 8D0A(B BBBF l BEE E(D0A8J 8D0A(B BBBK aAKA.AKBBEB B(A0A8GNNA 8D0A(B BBBK ` 8D0A(B BBBK QMNADBEE D(C0F@pHKPN0A(A BBBF@`dHtpiBBB E(A0D8G 8F0A(B BBBK D`J B ^ B U4D S I S ,D P D S$0`+ +8}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXJp|J@}6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv  & 6 F V f v           & 6 F V f v           & 6 F V f v           & 6 F V f v           & 6 F V f v         &6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv&6FVfv  & 6 F V f v         !!&!6!F!V!f!v!!!!!!!!!""&"6"F"V"f"v"""""""""##&#6#F#V#f#v#########$$&$6$F$V$f$v$$$$$$$$$%%&%6%F%V%f%v%%%%%%%%%&&&&6&F&V&f&v&&&&&&&&&''&'6'F'V'f'v'''''''''((&(6(F(V(f(v((((((((())&)6)F)V)f)v)))))))))**&*6*F*V*f*v****nst,nfe,nje = banded5x5_solve(y,nsteps,dt,jt) Wrapper for ``banded5x5_solve``. Parameters ---------- y : in/output rank-1 array('d') with bounds (5) nsteps : input int dt : input float jt : input int Returns ------- nst : int nfe : int nje : intbanded5x5_bjac(t,y,ml,mu,bjac,[n,nrowpd]) Wrapper for ``banded5x5_bjac``. Parameters ---------- t : input float y : input rank-1 array('d') with bounds (5) ml : input int mu : input int bjac : input rank-2 array('d') with bounds (nrowpd,n) Other Parameters ---------------- n : input int, optional Default: shape(bjac,1) nrowpd : input int, optional Default: shape(bjac,0)banded5x5_jac(t,y,ml,mu,jac,[n,nrowpd]) Wrapper for ``banded5x5_jac``. Parameters ---------- t : input float y : input rank-1 array('d') with bounds (n) ml : input int mu : input int jac : input rank-2 array('d') with bounds (nrowpd,n) Other Parameters ---------------- n : input int, optional Default: len(y) nrowpd : input int, optional Default: shape(jac,0)banded5x5(t,y,f,[n]) Wrapper for ``banded5x5``. Parameters ---------- t : input float y : input rank-1 array('d') with bounds (n) f : input rank-1 array('d') with bounds (n) Other Parameters ---------------- n : input int, optional Default: len(y)jac = getbands() Wrapper for ``getbands``. Returns ------- jac : rank-2 array('d') with bounds (4,5)W|>|@|W|>|B|E||H|W|>|B|E||H|>|O|V|Y|\|s| p|L+`y|I4`|J9|J>`| M1`??????9???@_??(E?PX F ?GCC: (GNU) 10.2.1 20210130 (Red Hat 10.2.1-11)(P lp *$a p З  (} 0}8}P`@ **! +7@C 0}j`+v (}p+`+ +{p-f/O13+(4*9(9G @>U`@chm@ `g`t`K`} `(h-@(7N^@6gpp`6{`7Z8\ ?j?IE> F  PX a-*GX0,J &E0)` cT`v0h0 p ();p K a`^3BBpVM D-gH0..`-8 Cpb4P,`5=Y0.@# pZ)27KGOW6,Y80'pX)p8 7NP%P )0p,^%m VP9"{"b/h!\)[$U)4#3@C`4+$Sed0W>0`3s $PX1wR @\cPL00E'p (!acA +'y2p]J@+e@[-[qJ`5E@hUC@*4%80W]0Pf%&I+I"K8`Tpp,8 <- @`  0&..2)F30@4!p*K0<.Uc:&@5`SR 'q:7Z4;PM0[W'Q  7-Opq<cX @ /62,0004er(Q0)M20Y`{ 5Opd7` a`c\@+(5@a-NSc З"O 3 'P>`La'ptU\@X5@/\B0B!(02N}4` .S $ tkW`Q3x/P ,>0E  NpHPFV&G5Sd  ]6UF.]W#&Pa`'4 5`/U<TpvH-A@<bZYJb SP4.@1 M]p}0R=5 b#K4#G@ <9T$"M I@4`^42cF#_5~'P0D0R@ Fm^Ia MZ0.I'@5K5,CLI1FcW2}E!p).80`/16 > .ZI5@@X.;0 M=8&S @F? (5@ cCpF? m"@> Vqep(X ( @B=`OV /M5q\0<#LP $a,*@` P%,?0 G@%nLp (-Wb`^22%$ Gx-`(\"$  1JN[1F%WRP3#P("#`a gNaW 0*OA03 ?.Rp2 B7T3L/  ]20/,O0HTZOM14-07@hY$=V,UT1 +;03;!D0-d*pY" X+e` F@z-"Y3G\ UX1&`K#UU  ;)10cTP"\a*0< T  YPpp([.;@= \`qCP(-00(!MlPE4W3QQPT?`'0!3 /Ypu303  `P+D+>`Z 'e 0$C@`, 0n8}A@2/Pt&`K`L50K3S@%@p4B$ 'p  R- Y V (`<+DLV``  $Ow,=^'+:b*'`'I4 .#@ >`4{QAP '`K@3M4l- \ +%c@) pd]%m YQK N+@ 49z9 <.P*P I3h~B0p T m 'Pd*G5{'L&p _`@n :*(c "`MR7l9@)Ls 0+P-pC. @.:/5P!U @%J E@I_P 0,)p%SNp+.^0OB ! LP -MX@/ W@. ' @%<2%B2Pv 0 cE04 %' *.(`2+$aT40e 9<`V06 J/3:>LY#1J"+@0-b ?p5e5*R d6[1 2Wp.PT@.2`bQK/.P>/ P9:4S``E/n P= A "` A`03lKX  E"ZEZqA`#`=607'p\@07 @0w_"@YPHA%T,%e@/qMb po &C7>pHaEp1Q 4@OP 0>(1V*P(3Pah+0 cJ$G #A]D0POUB0OP7`&PdE@%B9``- `+!R0^%/ R!"oE0PG@l `MOK63U +S qF * /'0*>0X@HM_b?9]aZp$c<-^7pV`DX0..PEN Z5Q88U U Z0"C /d e`KHPBGPD-P@_@L 1*pT`!BGPB1D" >^B2nV@-I 8$}N@/W )G'9P9P(V J;` %(j@ : ,4b,/* 0#;`#W b "OP `0_"5@`1sd >D0!mQ0.)9J5a@"FGQ0^ `2Z (#$= 7 )\@9`, '=# /P+`'PG]@&n! !8!5:P\&o`3'*E6t81J `*)0 )!0RG: ``)> p 90'd +<0~pAI`'Kg3J,p "GJSpCCC0Yx0p7Fd/\8,`#/A0KPN06`I RV ^9EK6p2r*3Y0 b0U/^0 !`}?:14@cp^GlGpRK #DpiRe)`4W)-~e* | 3,@`;(2`Q0=3l2 ;M *0#]=UA" pK1T _*P0]i+*Ci1#`.X<07[R'7@XP1g8|B O!d[?$j@!cC-M@:/ #p1`p&/$0( J{^`P@@$'B [P$ 6L`S5Lia2 FK oZ M$2aA`/p0x((;`1 @R00 w1`,GF,A #;u`<p]-#mB01LlcQ`P:O`"J`U\'i&0F p*:p?\2V1a@ j/ZN/6@P&74Q0 "X'%; ?@6!  PN@[p?4G-0.H08@= 9e\+) `Z#p"1UT)8 z7, DePhI &S'^`@5 9X$D!48CUSw[^05L?15>"5P R -UC0^8`$ >|VP=c`?_b0l7@@2 *1P9!\`&ce` P&]}ZP3azK`pGPqT0:S., @9@6P4B@ HS-`F$LP0^e  0<.-$`+8$JP@p' )p)2qX0:'# L P&%'N@_p3 N` %*>Z@!4f2R" $Z)NQP >&R!:At`O ) ]RL'0HYU:@p&F`@)YH.k=&@[_pZ&I%3`9!U/,?0CQ0%1|P(/(  02b.5JuQ- 3SSPaN eDиB% 6Vp*I)3@ZPVZ@JdP}`p1F, jj({p#3cp7,P=6"? 0 5: !&7?p \ + $"*]_QqSTpH_6/0 Nc@9 E&! `V p#48P3A6^9nP7`&LP!Y*`Y Cb !Fp)^`YpJ 0\/p1d*6-0%0O%\+YxX/W  P AW$_7F"HM,z%&=@'I e>>s>=^@T$p'`A4H*@0g6^&2p   P9\p-Upp 5]t6PsD`"E`-0#" @x=@ jc=;PX!CB0 H Np-,SP-_=5@(RP2[RG<S Hcd`)DV3W`PK`%wa0d ,-FAGi[p ?1`3/` )  Q(@p :Tb2ZpXP9/`6 P%[ % W5b$U `0.@%`'* (6 &7@[pHN@P#Jw&p/GD 52"e SP](C,*08`vYW`1R`&fw@ ?38K fPM r]SZ2&("=H0D+~,@_ Es) p"p4GCp"5f@!|Lq_#.b% *$*:@/#(P_)-^hOA@cvIK MZ0+ G@y 4UJ+s50>O>0W@Ii_: A@,v`1 )P0((\@PyP5 @* $: N=p<p6"poNp :0;P?0( Z-JpOPG`cLp!`*(?  VpWd4>p k<+&*\ D Ch#1_pH`9PY60eP<04=AUGzG]?R0\HPa 0!PeD dM@K$peP =03 57B%&+d` Jp'1D$.SEP$ `J.0[@ v#3` ptH&@X;c"wc8 L5_ `0,U p4,`-=KYgu (6DR`n  ' 5 C Q _ m {            " / = J X f t            ! 0 > L Z h v            $ 2 @ M Z h u            # 1 ? N \ i v          +9GTbp|!/<JXft+8FTbp~ %3AO]lz!/;IWes '5CZhw*7ESao}-;IVdr &4AO]jx,:HVdr*8ESdrpD (6"R`n#1?MZgu*8FTao}"0>N\jx!/=JYgu '4AO\j (5CR`n| ) 6 D R _ m {         !!"!0!>!L!Z!h!v!!!!!!!!!!""""0">"L"Z"g"u""""""""""###*#7#E#T#b#p#~##########$$$$2$@$N$\$j$x$$$$$$$$$$%% %.%<%J%X%f%t%%%%%%%%%%&&&+&8&F&T&c&q&&&&&&&&&&&''$'1'?'M'['j'x''''''''''(((*(8(F(W(d(r((((((((((( ))&)5)C)Q)_)m){)))))))))) **&*4*B*P*^*l*z**********++ +.+H+V+b+p++++++++++,,,2,@,N,\,j,x,,,,,,,,,,-"-0->-L-Z-f-t----------- ..(.6.D.R.`.n.........// /-/:/H/V/d/r/////////// 00'050C0T0b0p0~000000000111)191G1U1c1q11111111111 22(262D2X2f2s22222222222 33)373E3S3a3o3}3333333333 44#414?4N4\4j4w4444444444555)575E5R5_5m5{55555555556)676E6S6a6n6|666666666677!7/7=7J7X7f7t77777777777 88(878E8S8a8n8{888888888899!9.9<9J9X9f9t99999999999 ::%:3:A:O:]:k:z::::::::::;(;6;D;R;`;s;~;;;;;;;;;; <<%<3<A<O<]<k<y<<<<<<<<<<===.=<=J=W=e=r=========== >>&>4>C>Q>_>m>{>>>>>>>>>>??"?1?@?N?\?j?w??????????@@@-@:@H@V@d@q@@@@@@@@@ AA'A4ABAOA]AkAyAAAAAAAAAABB!B.BLLLZLhLvLLLLLLLLLLL MM'M5MBMPM^MkMyMMMMMMMMMMNN#N1N?NMN[NiNwNNNNNNNNNOO*O8OGOTObOpO~OOOOOOOOOOPP#P1P>PLPZPhPvPPPPPPPPPQQ!Q/Q=QKQYQgQuQQQQQQQQQQQ RR+R9RGRURcRqRRRRRRRRRRR SS&S4SBSOS]SkSySSSSSSSSSSTTT4TBTOT]TkTyTTTTTTTTTTUUU-U;UIUVUnU|UUUUUUUUUUVV"V0V>VLVZVhVvVVVVVVVVVVWWW-W;WIWWWeWsWWWWWWWWWWW XX%X3XAXOX]XkXyXXXXXXXXXX YY)Y7YFYTYbYpY~YYYYYYYYYYZZ$Z1Z?ZMZ[ZiZwZZZZZZZZZZ[[[,[:[H[V[c[q[[[[[[ [[[[\\$\3\A\O\]\k\y\\\\\\\\\\]]$]3]A]Q]^]l]z]]]]]]]]]] ^^)^7^E^Z^g^u^^^^^^^^^^___+_9_G_U_c_q___________ ``#`1`@`M`[`i`w``````````aaa,a:aHaVacaqa~a aaaaaaaaa bb(b6bDbQb_b ybbbbbbbbbbccc-c:cHcVcdcqccccccccc dd)d7dDdQd_dmd{ddddddddddee%e3eAe]ekexeeeeeeeeeeff f.fcrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.0__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entry_test_odeint_bandedmodule.cf2py_setup_jacf2py_jac_deff2py_init_jaccapi_kwlist.0_test_odeint_banded_errorint_from_pyobjdouble_from_pyobj.part.0capi_kwlist.4capi_kwlist.1capi_kwlist.2capi_kwlist.3moduledeff2py_routine_defsf2py_module_methodsdoc_f2py_rout__test_odeint_banded_getbandsdoc_f2py_rout__test_odeint_banded_banded5x5doc_f2py_rout__test_odeint_banded_banded5x5_jacdoc_f2py_rout__test_odeint_banded_banded5x5_bjacdoc_f2py_rout__test_odeint_banded_banded5x5_solve_test_odeint_banded-f2pywrappers.fbanded5x5.flsoda.fprja.fsolsy.fsrcma.fstoda.fsm1.0vmnorm.fxerrwv.fblkdta000.fbnorm.fcfode.fewset.ffnorm.fintdy.fd1mach.fsc.1equiv.0.0blas_lapack_wrappers.cfortranobject.cset_datasave_defformat_defget_elsizecheck_and_fix_dimensionsfortran_callfortran_getattrfortran_deallocfortran_repr__func__.2__func__.1fortran_setattr__FRAME_END__ndarray_from_pyobjcfode_ls0001__npy_f2py_ARRAY_APIF2PyCapsule_FromVoidPtrd1mach___GNU_EH_FRAME_HDRPyFortranObject_NewAsAttrbanded5x5_solve_F2PySwapThreadLocalCallbackPtrF2PyCapsule_Checki1mcry_jacobian___BLOCK_DATA__F2PyCapsule_AsVoidPtrintdy___dso_handlestoda_lsoda__finibanded5x5_bjac_copy_ND_arraybnorm_f2py_size_impl_npy_f2py_ARRAY_APIPyArray_RUNTIME_VERSIONF2PyDict_SetItemStringxerrwv_f2pyinitjac_prja__init_DYNAMIC__TMC_END__PyFortranObject_NewPyFortran_Typef2py_describegetbands_srcma_eh0001_fnorm_solsy_banded5x5_jac_vmnorm_ewset_F2PyGetThreadLocalCallbackPtrlsa001__GLOBAL_OFFSET_TABLE_banded5x5_d9mach_scipy_cgghrd_scipy_dsymm_scipy_dlaed7_scipy_zbdsqr_scipy_cheevd_scipy_ssygs2_scipy_ztpqrt_scipy_zlar2v_scipy_slatps_scipy_cgecon_scipy_csytri2x_scipy_dlasq6_scipy_dstegr_scipy_zgerqf_scipy_chetri_scipy_sposv_scipy_dormqr_scipy_zlaed0_scipy_zpbrfs_scipy_zhbevd_scipy_dorgtr_scipy_zgtsv_scipy_cpoequ_scipy_chetrf_scipy_cungbr_scipy_sgesvj_scipy_drscl_scipy_ctftri_scipy_slatrd_scipy_ssygvd_scipy_dggbak_scipy_cppsvx_scipy_zhegvd_PyExc_ValueErrorscipy_dgeqrfp_scipy_ztrtri_scipy_zpotri_scipy_dstevx_scipy_slarzt_scipy_ctgex2_scipy_cgelss_scipy_dgetrs_scipy_clarf_scipy_dlaqps_scipy_dlarrc_scipy_zlags2_scipy_zlaqr4_scipy_stbcon_scipy_cpbtrs_scipy_zlansp_scipy_zgghrd_scipy_dgelsd_scipy_sggbal_scipy_zlanht_scipy_zlaev2_scipy_cstedc_scipy_cggevx_scipy_ztpsv_scipy_ztbrfs_scipy_zppsvx_scipy_claqge_scipy_slasdq_scipy_slarfg_scipy_cgbbrd_scipy_dspgv_scipy_sptts2_scipy_zhemv_scipy_dsyevd_scipy_dpbrfs_scipy_cgbsvx_scipy_cung2l_scipy_dpptrs_scipy_slacn2_scipy_zgbbrd_scipy_dgbtrf_scipy_zhetrs2_scipy_ctrttf_scipy_slatbs_PyLong_AsVoidPtrscipy_sgeqrt2_scipy_sorgql_scipy_dtbcon_scipy_dsyequb_scipy_cunmql_scipy_slagtf_scipy_dlar1v_scipy_zhbgst_scipy_ilaver_scipy_dtgsna_scipy_spstf2_scipy_dorglq_scipy_claesy_scipy_slags2_scipy_dgeqr2_scipy_zlarzt_scipy_dlarfgp_sprintf@@GLIBC_2.2.5scipy_claswp_scipy_dlasdt_scipy_zspr_scipy_dlaln2_scipy_slasd6_scipy_ctbmv_scipy_dgbmv_scipy_csscal_scipy_chpev_scipy_zunmlq_scipy_dtptrs_scipy_dlaqtr_PyDict_GetItemStringscipy_ssyevx_scipy_sgbequ_scipy_strmm_scipy_zgeqrt2_scipy_zhesvx_scipy_caxpy_scipy_slarfb_scipy_ssytrd_scipy_claqhb_scipy_dlalsd_scipy_cgemqrt_scipy_sgbtrs_scipy_stpmv_scipy_chpmv_scipy_dlagtm_scipy_zlabrd_scipy_dorm2r_scipy_zungbr_scipy_slamrg_scipy_cgetri_scipy_dpbequ_scipy_zpftrf_scipy_claqr5_scipy_zdrot_scipy_ctptrs_scipy_zlaqps_scipy_ztrsna_scipy_dgerfs_scipy_sgesc2_scipy_dsbev_scipy_zlagtm_scipy_sptsvx_scipy_zsyr_scipy_zherk_scipy_dpbtf2_scipy_cungl2_scipy_dstevr_scipy_dgesv_scipy_zgges_scipy_zposvx_scipy_zlaesy_scipy_slag2d_scipy_zlaein_scipy_slargv_scipy_zpptrs_scipy_ssprfs_scipy_chbgv_scipy_slantb_scipy_dormbr_scipy_cgtts2_scipy_dtgsen_scipy_csytf2_scipy_cgeevx_scipy_dgeqrt2_scipy_slaqsy_scipy_dsytf2_scipy_ctrti2_scipy_dlatrz_scipy_clar2v_scipy_zspsv_scipy_sgetf2_scipy_strtrs_scipy_ctpmqrt_scipy_ssptri_scipy_slarf_scipy_cgetrf_scipy_claqr2_scipy_zsptrf_scipy_cunmtr_scipy_dgglse_scipy_sgeesx_scipy_sgemv_scipy_stgevc_scipy_stpttr_scipy_ztrtrs_scipy_zpotrs_scipy_zungr2_scipy_zggevx_scipy_clasyf_scipy_zlar1v_scipy_ctgsja_scipy_chpevx_scipy_spprfs_scipy_dlantb_scipy_clacpy_scipy_dlansb_scipy_zgeqrfp_scipy_cgesvx_scipy_strtri_scipy_cung2r_scipy_dopmtr_scipy_strsna_scipy_dlatps_scipy_dlapy3_scipy_dlarrd_scipy_sgtsvx_scipy_shseqr_scipy_sgtsv_scipy_scsum1_scipy_dgelss_scipy_csycon_scipy_zher_scipy_ztbtrs_scipy_dposvx_scipy_zunmtr_scipy_dlaed0_scipy_zunm2l_scipy_saxpy_scipy_slasdt_scipy_dgtsvx_scipy_dggev_scipy_chpevd_scipy_claqhp_scipy_dpteqr_scipy_ssytri_scipy_stgexc_scipy_zlanhs_scipy_dsbtrd_scipy_dgttrf_scipy_clabrd_scipy_zgelqf_PyObject_GetAttrStringscipy_dcabs1_PyCapsule_Typescipy_dtpttr_scipy_ssytrf_scipy_zggbal_scipy_srscl_scipy_ctptri_scipy_ztrmv_scipy_clasr_scipy_csptrf_scipy_dtgsyl_scipy_dlapll_scipy_clarfb_scipy_dstemr_scipy_ztzrzf_scipy_dsysv_scipy_clahr2_scipy_dgetf2_scipy_slarrv_scipy_cgeqlf_scipy_slagts_scipy_lsame_scipy_isamax_scipy_sgecon_scipy_ssygv_scipy_sgglse_scipy_slarrb_scipy_dscal_scipy_csytri_scipy_zgeqrf_scipy_strevc_scipy_slamch_PyMem_Freescipy_cgtcon_scipy_dtrsen_scipy_cporfs_scipy_dsfrk_scipy_dlaed3_scipy_clarzb_scipy_cunml2_scipy_zsycon_scipy_dggqrf_scipy_dorm2l_scipy_dlasdq_scipy_dlasv2_scipy_ztrsyl_scipy_spbtf2_scipy_clapll_scipy_chemm_scipy_zlaqhp_scipy_slas2_scipy_sormr2_scipy_slapmr_scipy_clarz_scipy_cgebd2_scipy_dlapmt_scipy_zgemm_scipy_sppsvx_scipy_spbequ_scipy_dsygvx_scipy_zlaqsb_scipy_ccopy_scipy_cpocon_scipy_sormrz_scipy_slaqr4_scipy_zcposv_scipy_strexc_scipy_chetd2_scipy_zlag2c_scipy_sgehrd_scipy_dspsv_scipy_zpprfs_scipy_clascl_scipy_dgelq2_scipy_dtgevc_scipy_dgtts2_scipy_dlaed5_scipy_zpbstf_scipy_cpftrs_PyType_IsSubtypescipy_zlanhb_scipy_zhpr2_scipy_cpttrs_scipy_zhetd2_scipy_zlals0_scipy_dlantp_scipy_cgeqr2_scipy_dsposv_scipy_stpqrt_scipy_dlarrr_scipy_cgges_scipy_zptrfs_PyModule_GetDictscipy_ctfttp_scipy_clantb_scipy_drotmg_scipy_slarre_scipy_ilaclr_scipy_zgbequb_scipy_spptrs_scipy_sgsvj1_scipy_zunm2r_PyInit__test_odeint_bandedscipy_dgeqr2p_scipy_idamax_scipy_cggev_scipy_dtgexc___cxa_finalize@@GLIBC_2.2.5scipy_dlaqsb_scipy_stfttr_scipy_chla_transtype_scipy_cheevr_strlen@@GLIBC_2.2.5scipy_clarfx_scipy_dlasyf_scipy_ssyevd_scipy_sggbak_scipy_sorml2_scipy_zgeqrt3_scipy_dgeev_scipy_checon_scipy_chbev_scipy_zgehd2_scipy_dlasy2_scipy_zunmrz_scipy_sggev_scipy_sspmv_scipy_dptsvx_scipy_zgetc2_scipy_zhseqr_scipy_dpftri_scipy_slahqr_scipy_zlatbs_scipy_dpftrf_scipy_dlasq4_scipy_chpsv_scipy_stpsv_scipy_clarfgp_scipy_cpbstf_scipy_slals0_scipy_slaqr5_scipy_dlaqr3_scipy_dgeqrt_scipy_stgsen_scipy_slarz_scipy_cgeql2_scipy_dsprfs__PyArg_ParseTupleAndKeywords_SizeTscipy_dsyr2k__Py_FatalErrorFuncscipy_spbtrf_scipy_sgeqrfp_scipy_ssbevx_scipy_dtrti2_scipy_sger_scipy_clangt_scipy_zlange_scipy_cpstrf_scipy_ztrttf_scipy_dsytri2x_scipy_ztrrfs_scipy_zporfs_scipy_zlacrm_scipy_sstevr_scipy_slasyf_scipy_zhetri2_scipy_sgelsd_scipy_csytrs2_scipy_cgbtrs_scipy_dstedc_scipy_slasr_scipy_dhgeqz_scipy_dlaqge_scipy_ztgsyl_scipy_dlagtf_scipy_dorgbr_scipy_zpftri_scipy_cgeru_PyErr_NoMemoryscipy_dgeqlf_scipy_zhpevd_scipy_cgetf2_scipy_slaqr2_scipy_cgttrf_scipy_cspmv_scipy_cspr_scipy_zgetrs_scipy_sgetrf_scipy_dlagv2_scipy_zhpsv_scipy_chemv_scipy_dsptrf_scipy_dgerq2__Py_NoneStructscipy_srotg_scipy_zhpev_scipy_dpftrs_scipy_cgesv_scipy_dlaeda_PyExc_AttributeErrorscipy_ztgsja_scipy_sspgvd_scipy_zlalsa_scipy_dtrrfs_scipy_dgehd2_scipy_cgeqr2p_scipy_zstein_scipy_zcopy_scipy_dptcon_scipy_stprfb_PyNumber_Floatscipy_dlarft_scipy_zgesv_scipy_ctrevc_scipy_dlartgs_scipy_slansp_scipy_dlasd3_scipy_chegst_scipy_spocon_scipy_slarrk_scipy_csyswapr_scipy_slarnv_scipy_dgbtf2_scipy_cgelsd_scipy_dsytrd_scipy_zgeqr2p__gfortran_transfer_integer_write@@GFORTRAN_8scipy_dlag2_scipy_zsyrk_scipy_dsygvd_scipy_clacp2_scipy_sgges_scipy_zptts2_scipy_zpttrs_PyUnicode_FromFormatscipy_zstedc_memset@@GLIBC_2.2.5scipy_dgbbrd_scipy_dtpmqrt_scipy_dlatbs_scipy_chegvx_scipy_cunmlq_scipy_dsdot_scipy_cunglq_scipy_zhetrs_scipy_slaqsp_scipy_dsytrs_scipy_zung2l_scipy_strsen_scipy_zgerfs_scipy_clalsa_PyType_Typescipy_cgelq2_scipy_dtbrfs_scipy_dgesc2_scipy_dlamch_scipy_chegvd_scipy_dsterf_scipy_xerbla_array_scipy_dgejsv_scipy_zlantp_scipy_scasum_scipy_zunmql_scipy_sormbr_scipy_spteqr_scipy_zgbtrf_scipy_zggglm_scipy_ctrsm_scipy_claqsy_scipy_dbdsqr_scipy_dlasd6_scipy_spttrs_scipy_dlarf_scipy_slabrd_scipy_cunm2l_scipy_dlarrk_scipy_dstein_scipy_cgetc2_scipy_cgerqf_scipy_stptrs_scipy_chptrs_scipy_cunmqr_scipy_cher2_scipy_sgttrs_scipy_csyconv_scipy_cpotrf_scipy_cungtr_scipy_ztptrs_scipy_zpftrs_scipy_dger_scipy_ztpmqrt_scipy_zhpmv_scipy_stpttf_scipy_cptrfs_scipy_cstein_scipy_dtrttf_scipy_sgelsy_scipy_zgbcon_scipy_dgghrd_scipy_zpoequ_scipy_zlaqhb_scipy_dgeequ_scipy_dtrtrs_scipy_claset_scipy_chpgvd_scipy_dlarrv_scipy_spoequ_scipy_slar2v_scipy_zhbmv_scipy_dlartv_scipy_slacon_scipy_ssytri2_scipy_clalsd_scipy_cpteqr_scipy_dtbtrs_scipy_dlabad__PyObject_Newscipy_zgttrs_scipy_chpgvx_scipy_ctpqrt_scipy_stzrzf_scipy_zlassq_scipy_cpotri_PyNumber_Longscipy_zhgeqz_scipy_dlaset_scipy_zsytri2x_scipy_dlaexc_scipy_zlacrt_scipy_dormhr_scipy_clarft_scipy_sbdsqr_scipy_dtrttp_scipy_sptsv_scipy_chgeqz_scipy_dlassq_scipy_dgsvj1_scipy_sscal_scipy_dpbtrf_scipy_slaqsb_scipy_slartgs_scipy_ssptrd_scipy_zpptri_scipy_zlaqp2_scipy_sgbrfs_scipy_sorg2l_scipy_drot_scipy_clarzt_PyErr_Formatscipy_cgbtf2_scipy_cungrq_scipy_ctpcon_scipy_zlaqhe_scipy_slasv2_scipy_dpocon_scipy_stbsv_scipy_dhsein_scipy_sgeqlf_scipy_dlahr2_scipy_cgeqrt3_scipy_sgebal_scipy_zspmv_scipy_dpotf2_scipy_slarzb_scipy_clapmr_scipy_cgehrd_scipy_slascl_scipy_sstebz_scipy_ctrcon_scipy_ztrmm_scipy_zungtr_scipy_zptsv_scipy_dpptrf_scipy_dsymv_scipy_ssygst_scipy_zstemr_PyFloat_AsDoublescipy_dtbmv_scipy_dlaed8_scipy_ssbmv_scipy_cgbmv_scipy_crotg_scipy_clacrt_scipy_ztftri_scipy_spptri_scipy_zggesx_scipy_dppsv_scipy_dgebal_scipy_ztpttf_scipy_dtpqrt2_scipy_ztgevc_scipy_dsytri2_scipy_zheequb_scipy_cunmbr_scipy_ztpcon_scipy_zlauu2_scipy_dgbrfs_scipy_spotrs_scipy_zgbequ_scipy_ctpmv_scipy_dlasd7_scipy_sppsv_scipy_dpbstf_scipy_shsein_scipy_dppequ__Py_Deallocscipy_slaebz__Py_BuildValue_SizeTscipy_clauu2_scipy_claqp2_scipy_dormtr_scipy_zlaed7_scipy_zspcon_scipy_claed8_scipy_slarrc_scipy_ztrexc_scipy_zsteqr_scipy_zgesdd_scipy_ssytri2x_scipy_ctbtrs_scipy_slarft_scipy_sgemm_scipy_sorglq_scipy_csrot_scipy_dlatdf_scipy_srotm_scipy_sgees_scipy_slasy2_scipy_sbbcsd_PyExc_ModuleNotFoundErrorscipy_sggglm_scipy_chpr_scipy_sggevx_PyExc_OverflowErrorscipy_slaset_scipy_cptts2_scipy_sdisna_PyMem_Mallocscipy_cstemr_scipy_chbtrd_scipy_ssptrf_scipy_zgtrfs_scipy_zhpsvx_scipy_cgeqrt_scipy_zrot_PyErr_ExceptionMatchesscipy_zgesvx_scipy_sgeqr2_scipy_zheevx_scipy_zptsvx_scipy_stgsy2_scipy_spoequb_scipy_dgeevx_scipy_ctrsen_scipy_dgeequb_scipy_dlasd2_scipy_iladlc_scipy_sgeqr2p_scipy_dspgvd_memcpy@@GLIBC_2.14PyImport_ImportModulescipy_sorgtr_scipy_ssytf2_scipy_zhbgvd_scipy_slantp_scipy_sgttrf_scipy_ddot_scipy_zbbcsd_scipy_dgges_scipy_clacon_scipy_zlapmr_scipy_dorml2_scipy_zpbtrs_scipy_zlacpy_scipy_ztbsv_scipy_strti2_scipy_chsein_scipy_slapy2_scipy_zlanhp_scipy_dormql_scipy_spbtrs_scipy_zlatrd_scipy_zlantb_scipy_slaruv_scipy_dlasrt_scipy_clahqr_PyUnicode_FromStringscipy_zsyequb__gfortran_st_write@@GFORTRAN_8scipy_dlaev2_scipy_dtrsyl_scipy_sspev_scipy_dtprfs_scipy_zgelsy_scipy_sgtrfs_scipy_zhptrs_scipy_strttp_scipy_zhbev_scipy_csymv_scipy_cppcon_scipy_dlarrj_scipy_dlaneg_scipy_spbsvx_scipy_sgghrd_scipy_sstein_scipy_dlasd5_scipy_sgebak_scipy_dlascl_scipy_cpoequb_scipy_zsprfs_scipy_dlaqgb_scipy_csyrk_scipy_dlaed2_scipy_chbgvx_scipy_zpbequ_scipy_dsbgv_scipy_disnan_scipy_dgbtrs_PySequence_Checkscipy_scnrm2_scipy_chprfs_scipy_stprfs_scipy_zpoequb_scipy_zlartg_scipy_zhpgvd_scipy_dgelsy_scipy_slasd2_scipy_sgejsv_scipy_ztprfs_scipy_ssyr2k_pow@@GLIBC_2.2.5scipy_dgetrf_scipy_sgbcon_scipy_sgbmv_scipy_dsyswapr_scipy_dladiv_scipy_zungl2_scipy_ztbcon_scipy_clatbs_scipy_zlarrv_scipy_ssysvx_scipy_csytri2_scipy_dtpsv_scipy_clartg_scipy_ssbtrd_scipy_zunmr2_scipy_zaxpy_scipy_slasd3_scipy_dpprfs_scipy_slaeda_scipy_dorgl2_scipy_zhetri2x_scipy_dlapy2_scipy_zheevr_strcpy@@GLIBC_2.2.5scipy_ztgsy2_scipy_csysv_scipy_slasq2_scipy_sormtr_scipy_slaed2_scipy_sgbequb_scipy_slangb_scipy_dtfttp_scipy_dsteqr_scipy_strsyl_scipy_dlasd8_scipy_dswap_scipy_shgeqz_scipy_dsptrs_scipy_dormrz_scipy_dbbcsd_scipy_chseqr_scipy_claqhe_scipy_dggevx_scipy_slagv2_scipy_claic1_scipy_sgeqrt_scipy_zlaset_scipy_dgesdd_scipy_dpotrs_scipy_cppequ_scipy_cherfs_scipy_zhprfs_scipy_dlangb_scipy_ssbevd_scipy_spftri_scipy_zgelq2_PyErr_Clearscipy_zggbak_scipy_cgesdd_scipy_slartgp_scipy_dlasq1_scipy_zlarnv_scipy_dstev_scipy_sgeequ_scipy_cpftrf_scipy_cgbequ_scipy_dlansf_scipy_sspr_scipy_dlaqr4_scipy_zdscal_scipy_ctrmm_scipy_dlaein_scipy_dlag2s_scipy_clantp_scipy_sptrfs_scipy_zgerc_scipy_zgecon_scipy_zlacon_scipy_zlasr_scipy_zppsv_scipy_sstevx_scipy_dsptrd_scipy_sspsv_scipy_slasd8_scipy_slarfgp_scipy_sgeevx_scipy_cpotf2_scipy_zpptrf_scipy_ztgsen_scipy_ctrsna_scipy_claqsp_scipy_clals0__gfortran_stop_string@@GFORTRAN_8scipy_ztgexc_scipy_slahr2_scipy_cggqrf_scipy_ctgevc_scipy_strsm_scipy_spstrf_scipy_zlarfgp_scipy_slange_scipy_zhpr_scipy_ssyr2_scipy_ssytd2_scipy_strmv_scipy_zgeqrt_scipy_cptcon_scipy_dlauum_scipy_zpstf2_scipy_chbevx_scipy_zlartv_scipy_slaqr3_scipy_slaed8_scipy_cherk_scipy_dtrexc_scipy_cunmr2_scipy_cpttrf_scipy_zlarz_scipy_csprfs_scipy_dlals0_scipy_dlanhs_scipy_slarrj_scipy_zhetf2_scipy_dlacon_scipy_cbdsqr_scipy_ztrti2_scipy_dlaqr1_scipy_dsytd2_scipy_zggrqf_scipy_zgeev_scipy_ssyconv_scipy_zhegvx_scipy_cggbal_scipy_dspevd_scipy_zgbmv_scipy_zsysv_scipy_dsbmv_scipy_zsyr2k_scipy_slarrf_scipy_zgttrf_scipy_srotmg_scipy_stgsja_scipy_sgerq2_scipy_slangt_scipy_ztprfb_scipy_ieeeck_scipy_zhecon_scipy_chbmv_scipy_stbmv_scipy_dtfttr_scipy_clargv_scipy_zgebak_scipy_iladlr_scipy_zlahr2_scipy_sgsvj0_scipy_dsptri_scipy_dlaed6_scipy_zhpevx_scipy_ssyr_scipy_zrotg_scipy_dasum_scipy_slalsd_scipy_dgeesx_scipy_claqr4_scipy_slasda_scipy_daxpy_scipy_dlansp_scipy_slaqr0_scipy_slar1v_scipy_slacpy_scipy_dgecon_scipy_zhetrf_scipy_ctpqrt2_scipy_dlaed9_scipy_cptsv_scipy_dgesvj_scipy_dsysvx_scipy_cpbsv_scipy_zsytri2_scipy_clacgv_scipy_slasq3_scipy_zpstrf_scipy_slaed3__gfortran_stop_numeric@@GFORTRAN_8scipy_dtrcon_PyOS_snprintfscipy_sormqr_scipy_dlargv_PyLong_FromVoidPtrPyDict_Newscipy_cpbequ_scipy_sporfs_scipy_slarra_scipy_dlaqr2_scipy_dlauu2_scipy_clahef_scipy_slansf_scipy_dlarzt_scipy_ssteqr_scipy_chesv_scipy_slaqp2_scipy_zpotrf_scipy_dporfs_scipy_slapll_scipy_dpptri_scipy_sopmtr_scipy_clarnv_scipy_clansp_scipy_dsyr2_scipy_chbgst_scipy_sorg2r_PyErr_SetStringscipy_dtgex2_scipy_sorcsd_scipy_dgees_scipy_drotg_scipy_zlarf_scipy_chegv_scipy_spotf2_scipy_cungqr_scipy_cheswapr_scipy_sstevd_scipy_dlamrg_scipy_ctrmv_scipy_dorbdb_scipy_ssysv_scipy_sgesdd_scipy_zswap_scipy_dpoequ_scipy_cpptrs_scipy_slartv_scipy_zhpgst_scipy_dsbgvd_scipy_zunmrq_scipy_sladiv_scipy_cswap_scipy_dspgst_scipy_zpbtrf_scipy_dtptri_scipy_slansy_scipy_dgeqrt3_scipy_ssygvx_scipy_dlasd4_scipy_stftri_scipy_dsbevd_scipy_dgeql2_scipy_cher2k_scipy_ssytrs_scipy_dhseqr_scipy_zsptrs_scipy_sspgv_scipy_spotrf_scipy_zgemv_scipy_ztrttp_scipy_cpptri_scipy_zpbtf2_scipy_chetri2_scipy_csyequb_scipy_sgeequb_scipy_sopgtr_scipy_slantr_scipy_cpbtrf_scipy_dsygv_scipy_ilatrans_scipy_csysvx_scipy_ssyrfs_scipy_ilaslr_scipy_zunmbr_scipy_cgglse_scipy_ssbev_scipy_dlanv2_scipy_dpstf2_scipy_dtrmv_scipy_zdrscl_scipy_ctrttp_scipy_dgetri_scipy_ztpmv_scipy_cgebrd_scipy_zgesvd_scipy_dtpcon_scipy_slae2_scipy_sgelqf_scipy_slaic1_scipy_ssyevr_scipy_cspsvx_PyCapsule_Newscipy_zgglse_scipy_dsytri_scipy_zhetrd__gfortran_transfer_real_write@@GFORTRAN_8scipy_cpftri_scipy_sormlq_scipy_cposv_scipy_dgesvd_scipy_zhegv_scipy_dlarfx_scipy_clartv_scipy_slatrs_scipy_slasq1_scipy_cpptrf_scipy_sorbdb_scipy_slaed1_scipy_icmax1_scipy_dlantr_scipy_dormr3_scipy_dgetc2_scipy_zlargv_scipy_zunbdb_scipy_dtgsy2_scipy_zgeevx_scipy_dgels_scipy_cgesc2_scipy_dgtrfs_scipy_zsytrf_scipy_zsytrs2_scipy_zsyconv_scipy_dcopy_scipy_chesvx_scipy_slatdf_scipy_dgeqp3_scipy_stfttp_scipy_sbdsdc_scipy_zgebal_scipy_sgelss_scipy_zheev_PyThreadState_GetDictscipy_zlansy_scipy_chbevd_scipy_cunmrq_scipy_dsytrs2_scipy_zgeqp3_scipy_cuncsd_scipy_zlauum_scipy_chptrd_scipy_cungql_scipy_cgbtrf_scipy_slasq4_scipy_dpbsvx_scipy_cgtrfs_scipy_dsbgvx_scipy_zgels_scipy_slaqge_scipy_slaed4_scipy_zposv_scipy_ztrsv_scipy_cscal_scipy_sorgrq_scipy_ctpsv_scipy_zgebd2_PyLong_AsLongAndOverflowscipy_sgerfs_scipy_zgeqlf_PyCapsule_GetPointerscipy_claed0_scipy_stgex2_PyExc_RuntimeErrorscipy_clags2_scipy_dgtcon_scipy_zlarcm_scipy_dspevx_scipy_slasd5_scipy_sgbtf2_scipy_dpstrf_scipy_dgehrd_scipy_claed7_PySequence_Fastscipy_zggqrf_scipy_zsyrfs_scipy_dlatrd_scipy_zgbtrs_scipy_zhbgvx_scipy_dggrqf_scipy_clapmt_scipy_ctgsyl_scipy_dlasda_scipy_zpteqr_scipy_ssbgvx_scipy_sormql_scipy_clansy_scipy_cher_stderr@@GLIBC_2.2.5scipy_ztpttr_scipy_ssyswapr_scipy_zlarfg_scipy_zpbsvx_scipy_ddisna_scipy_zlansb_scipy_dtrsv_scipy_dsyevx_scipy_slassq_scipy_cpbcon_scipy_slaein_scipy_cungr2_scipy_sormhr_scipy_dspsvx_scipy_dstebz_scipy_sggesx_scipy_slaed7_scipy_chegs2_scipy_zungqr_scipy_cggglm_scipy_ctrsyl_scipy_cgetrs_scipy_stptri_scipy_chptri_scipy_dorghr_scipy_dptrfs_scipy_sgebrd_scipy_cgerq2_scipy_dspev_scipy_zgesc2_scipy_clantr_scipy_ssbgvd_scipy_zunmr3_scipy_slasd0__gfortran_transfer_array_write@@GFORTRAN_8scipy_dsyrk_scipy_dlarrb_scipy_cposvx_scipy_dlaruv_scipy_ssbgv_scipy_zhfrk_scipy_cpprfs_scipy_dgemm_scipy_dgbsvx_PyObject_Freescipy_chetrs_scipy_ssymv_scipy_dgemv_scipy_sormrq_scipy_spftrf_scipy_dgerqf_scipy_chetri2x_strcmp@@GLIBC_2.2.5scipy_sstegr_PyExc_TypeErrorscipy_csyrfs_scipy_dgebak_scipy_ctbrfs_scipy_dggesx_scipy_zgeqr2_scipy_spptrf_scipy_claqr1_scipy_zuncsd_scipy_zhegst_scipy_slasrt_scipy_slaexc_scipy_ssbgst_scipy_dznrm2_scipy_slagtm_scipy_zhpgvx_scipy_sgeqrf_scipy_zhesv_scipy_zunmhr_scipy_ilazlc_scipy_cgeqp3_scipy_zgtts2_scipy_chptrf_scipy_dspmv_scipy_stfsm_scipy_claqps_PyType_Readyscipy_zgbsv_scipy_clag2z_scipy_dlarre_scipy_dbdsdc_scipy_dtprfb_fprintf@@GLIBC_2.2.5scipy_dtpttf_scipy_cgelsy_scipy_zstegr_scipy_dlaed4_scipy_dspr_scipy_dsycon_scipy_dsyr_scipy_dspgvx_scipy_iladiag_scipy_ssptrs_scipy_dpbtrs_scipy_cstegr_scipy_zung2r_scipy_sspevd_scipy_slaln2_scipy_ztpqrt2_scipy_cunbdb_scipy_zsysvx_scipy_cheev_scipy_slaed5_PySequence_GetItemscipy_cpbrfs_scipy_dlaswp_scipy_zhptrf_scipy_ctzrzf_scipy_dsyevr_scipy_ctbcon_scipy_chpgv_scipy_dtfsm_scipy_spbsv_scipy_sgesv_scipy_dlansy_scipy_cunmrz_scipy_slanv2_scipy_cgbcon_scipy_sgemqrt_scipy_cheevx_scipy_dorgqr_scipy_sdot_scipy_cbbcsd_scipy_cgtsv_scipy_zlascl_scipy_ctfttr_scipy_dposv_scipy_slaswp_PySequence_Sizescipy_dpotri_scipy_zunghr_scipy_zggev_scipy_drotm_scipy_clanht_scipy_zungql_scipy_zupgtr_scipy_dpoequb_scipy_sppcon_scipy_dpotrf_scipy_ssytrs2_scipy_csytrs_scipy_zhbtrd_scipy_sgetc2_scipy_zlaqr5_scipy_cpstf2_scipy_sggqrf_scipy_dlatrs_scipy_dggbal_scipy_zlatrs_scipy_dppcon_scipy_dlas2_scipy_zupmtr_scipy_classq__gfortran_st_write_done@@GFORTRAN_8PyErr_NewExceptionscipy_cgels_scipy_sgesvx_scipy_zhbevx_scipy_ilaprec_scipy_chpr2_scipy_dgelqf_scipy_clansb_scipy_zlalsd_scipy_strsv_scipy_cgbequb_scipy_slalsa_scipy_ctgsy2_scipy_sstev_scipy_ssfrk_scipy_dsygst_scipy_dtrsna_scipy_sgeev_scipy_izmax1_scipy_zhetri_scipy_slaed0_scipy_zlaic1_scipy_ssyrk_scipy_dggglm_scipy_ztrsen_scipy_zgetrf_scipy_ctgsna_scipy_dopgtr_scipy_clacrm_scipy_slarrr_scipy_dormr2_scipy_zlacn2__PyDict_GetItemStringWithErrorscipy_clagtm_scipy_sdsdot_scipy_dpttrf_scipy_zlaed8_scipy_zgbrfs_scipy_sgelq2_scipy_dlanst_scipy_cgtsvx_scipy_cgehd2_scipy_sstemr_scipy_zsptri_scipy_stbtrs_scipy_clauum_scipy_ztrevc_scipy_zpbsv_scipy_cspsv_scipy_dlalsa_scipy_zlahqr_scipy_cgttrs_scipy_zsymm_scipy_dgeqrf_scipy_sgetrs_scipy_cgeqrf_PyModule_Create2scipy_dlasd0_scipy_zspsvx_scipy_cupmtr_scipy_slanhs_scipy_ilaslc_scipy_dppsvx_scipy_chbgvd_scipy_clangb_scipy_slasd1_scipy_spotri_scipy_chpsvx_scipy_sorgqr_scipy_zlat2c_scipy_ztfttp_scipy_zgees_scipy_stpqrt2_scipy_dsbgst_scipy_dlarz_scipy_zlatps_scipy_zpotf2_scipy_dlasr_scipy_dlaebz_scipy_zlangt_scipy_slaev2_scipy_slaqtr_scipy_zgerq2_scipy_slartg_scipy_dptsv_scipy_sgtcon_scipy_dlasq3_scipy_srot_scipy_chetf2_scipy_dgbequ_scipy_dlacpy_scipy_ctrexc_scipy_zgbsvx_snprintf@@GLIBC_2.2.5scipy_clatrd_scipy_sswap_scipy_zsytri_scipy_csrscl_scipy_zpttrf_scipy_zlanhf_scipy_zgeequ_scipy_zgehrd_scipy_dgbsv_scipy_zgeql2_scipy_dtpmv_scipy_stgsyl_scipy_csymm_scipy_dlarrf_scipy_zlaqsy_scipy_zppcon_scipy_sgetri_PyErr_Occurredscipy_sormr3_scipy_cggesx_scipy_ctfsm_PyObject_GenericGetAttrscipy_dlar2v_scipy_ctprfs_scipy_clatps_scipy_clanhf_scipy_clange_scipy_cgemv_scipy_slaqr1_scipy_cptsvx_scipy_spbrfs_scipy_stpcon_scipy_chpcon_scipy_chfrk_scipy_slasd7_scipy_sorgl2_scipy_zlantr_scipy_clatrs_scipy_dlabrd_scipy_claqsb_scipy_zlatdf_scipy_dgbequb_scipy_zppequ_scipy_zlarzb_scipy_slasq6_scipy_chetrs2_scipy_sasum_scipy_slaed6_scipy_claqgb_scipy_dgttrs_scipy_dlarra_scipy_zunmqr_scipy_zlahef_scipy_dlags2_scipy_dtgsja_scipy_slapmt_scipy_clanhs_scipy_dlaed1_scipy_dgebrd_scipy_dlapmr_scipy_zsytrs_scipy_dzasum_scipy_ztrcon_scipy_zpocon_scipy_ssymm_scipy_dspr2_scipy_sorgr2_scipy_strcon_scipy_dpbsv_scipy_zlaqsp_scipy_zlacgv_scipy_cgees_scipy_cgeesx_scipy_zgtsvx_scipy_dlacn2_scipy_dlaic1_scipy_sgerqf_scipy_dgbcon_scipy_zgeesx_scipy_zsyswapr_scipy_dtrsm_scipy_ctgexc_scipy_cpbtf2_scipy_zgeequb___powidf2@@GCC_4.0.0scipy_clacn2_scipy_zsymv_scipy_slaed9_scipy_clarfg_scipy_cgeequ_scipy_sposvx_scipy_dsyconv_scipy_zgetri_scipy_slasd4_scipy_dlaqr0_scipy_cggrqf_scipy_clar1v_scipy_sgbbrd_scipy_dtpqrt_scipy_sgels_scipy_cppsv_scipy_csptrs_scipy_slanst_scipy_clanhp_scipy_cunmr3_scipy_ctrtrs_scipy_cggbak_scipy_dlarnv_scipy_zhpgv_scipy_zunglq_scipy_spftrs_scipy_slaqgb_scipy_zgtcon_scipy_sgtts2_scipy_dtrevc_scipy_dlarzb_scipy_dorgr2_scipy_dlagts_scipy_cgeequb_scipy_zpbcon_scipy_sgehd2_scipy_zgeru_scipy_strrfs_scipy_zlaqr1_scipy_dsytrf_scipy_dlat2s_scipy_zhbgv_scipy_sorm2r_scipy_dlasd1_scipy_cspcon_PyFloat_Typescipy_cunghr_scipy_cgebak_scipy_dlange_scipy_sgbsvx_scipy_ctrrfs_scipy_crot__ITM_deregisterTMCloneTablescipy_ctbsv_scipy_zptcon_scipy_zlatrz_scipy_claqr3_scipy_ctpttr_scipy_sspgst_scipy_sgeqrt3_scipy_dspcon_scipy_dlasq2_scipy_zhpcon_scipy_zlaqr2_scipy_dlaqr5_scipy_zlarfb_scipy_zlanhe_scipy_cgbrfs_scipy_cgeqrt2_scipy_cpotrs_scipy_dtrtri_scipy_ilazlr_scipy_ssyequb_scipy_zlaqr0_scipy_dorcsd_scipy_cheequb_scipy_dlarfg_scipy_stpmqrt_scipy_chpgst_scipy_zheswapr_scipy_cgeev_scipy_zheevd_scipy_dgebd2_scipy_strttf_scipy_clanhe_PyExc_SystemErrorPyExc_ImportErrorscipy_dlartg_scipy_zlaswp_scipy_dorg2l_scipy_claev2_scipy_zher2_scipy_spttrf_scipy_cpbsvx_scipy_zlacp2_scipy_claqr0_scipy_dgsvj0_PyDict_DelItemStringscipy_zscal_scipy_slaqps_scipy_ztbmv_scipy_zungrq_scipy_dgemqrt_scipy_zhsein_scipy_zherfs_scipy_sgbtrf_scipy_dlangt_scipy_dlaqp2_scipy_zhegs2_scipy_dsbevx_scipy_dpbcon_scipy_cupgtr_scipy_zunml2_scipy_slatrz_scipy_dtzrzf_scipy_sorm2l_scipy_stgsna_scipy_dlarfb_scipy_zgelsd_scipy_sorghr_scipy_dtbsv_scipy_zlangb_scipy_dormrq_scipy_ztptri_scipy_zlaqge_scipy_sgeqp3_scipy_csytrf_scipy_cgbsv_scipy_zlaqr3_scipy_cgesvd_scipy_csyr_scipy_dorgql_scipy_dlartgp_scipy_snrm2_scipy_sptcon_scipy_zhptrd_scipy_slansb_scipy_izamax_scipy_dtftri_scipy_zsytf2_scipy_clanhb_scipy_zhptri_scipy_cunm2r_scipy_slapy3_scipy_zlarfx_scipy_dtrmm_scipy_dlahqr_scipy_dlaqsy_scipy_dsgesv_scipy_sppequ_scipy_dpttrs_scipy_zlasyf_scipy_stbrfs_scipy_sspr2_scipy_ztgsna_scipy_cgerc___gmon_start__scipy_dzsum1_scipy_zgemqrt_PyErr_Printscipy_sspevx_scipy_zcgesv_scipy_dgtsv_scipy_slauum_scipy_ssycon_scipy_dsygs2_scipy_chetrd_PyUnicode_Concatscipy_dormlq_scipy_sgebd2_scipy_slag2_scipy_sspcon__ITM_registerTMCloneTablescipy_zgelss_scipy_ctpttf_scipy_slarrd_scipy_slauu2_scipy_ztfttr_scipy_zlaqgb_scipy_zgetf2_scipy_sgbsv_scipy_spbstf_scipy_ztfsm_scipy_ctprfb_scipy_claein_scipy_csptri_scipy_zhemm_scipy_clarcm_scipy_icamax_scipy_dorgrq_scipy_ztrsm_scipy_ctrtri_scipy_sorgbr__gfortran_transfer_character_write@@GFORTRAN_8scipy_dnrm2_scipy_cgebal_scipy_csteqr_scipy_scopy_scipy_cgemm_scipy_zher2k_scipy_zlarft_scipy_cgelqf_scipy_sggrqf_scipy_ctrsv_scipy_dsyev_scipy_dsyrfs_scipy_dgesvx_scipy_zgbtf2_scipy_dstevd_scipy_clarrv_scipy_zlapmt_scipy_ctgsen_scipy_cunmhr_scipy_dorg2r_scipy_sspsvx_scipy_zlapll_scipy_sgesvd_scipy_ilauplo_PyComplex_Typescipy_sspgvx_scipy_ilaclc_scipy_clatrz_PyUnicode_FromStringAndSizescipy_spbcon_scipy_dlae2_scipy_ssterf_scipy_slabad_scipy_dlaqsp_scipy_cgerfs_scipy_sgeql2_scipy_cgeqrfp_scipy_sstedc_scipy_dptts2_scipy_ssyev_scipy_slarfx_scipy_csyr2k_scipy_zgebrd_scipy_clatdf_scipy_ztgex2_.symtab.strtab.shstrtab.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.data.rel.ro.dynamic.got.got.plt.data.bss.commentHollt Uodpp nBxs  j~**r6$a$a pp' ЗЗ48(}(m0}0m8}8mPPopX5`` @@ 0@/phH #ILFZS? _)/ LB+PjUM+WM`7.?uF!FN\ ZeV/N>6 !V3&u'6QJSLGK@RM 7$RQm 9YVZ? =A .C F0+ h-9I OO?^6@p1*0]:&M@42nC*O:w oT'P )W$>#<\2&]>F4C KN<Fh$ <5) W$dP,+x[; +U SZ )7.DQCX; ',0/#!L;V QA:PC=VDY;:+1aX  <0"*:W7)I4E< W:"5GH[sV[L^S`>C%FE%K IZ*H)%'8884"  GY,\\#[?}"!0-GGRn." K2FLC 5e32%c/2[0 h!= y:z5hF08m=?}KH:o]3|.#GX"+()ZB"7R\>A; % 6CA0fSA<IHb(Q5!/V1"#xUuQa NQ% /:H'E(W" $=3I`Ch8\ l`1F"&G\)"F7NAK"J)\7-]LVP_,:TQ,Q)6 :<k& G3> /U6^-B6!D13'lQ[C1Z VPE?"O66 /s?"&YI$*U][ O c<#0L7s$ODJ/ xLOm, #^YDQ2 X -WHi!'4L4(g;H(sB=QQ=  1K $ 087mW_W]X&O2)L>AO<S1\[HK4 ~1!$ /aIjRJ\2AC+JLc(C&9'/  H]8`ZU ZH H[3R6I"VRnM3'g'B< (+9GB1"I^MuSITkO)X$PH+4i3C)F"5,<>EVR4|@  vR?{, "}6$e X5W,@>0t i>PE& [6WL-ZF+X#tbbYRCL1-6nZl2Y41NY2UBI/()C+8-Ib9+PW{=Z9X&LG'= @)Y5?x4}88U?4]&EIMPH {WOL6PNCWHB^|(36.-AFM;8uI!*RV+UP  I;Rr+;BU\R%>z)3dX$#3D2AK8:PEIM'$B"8zE(J5c(W &x#t\UE."%eHV8TO0 >5DZ4v!403#[+Yl*TFfDf\w >#-9*1O%BN\Y6;?A94;1/H(8f/+dv!:6T!,)O %DWBJL =')T/5Y] S%y& I#-$C JPTVE=5VYl&uY:(] |CS!;U FP K>*V=FTq<9x2TT<$7%=N#3 ZO&0-MJEN7. X2 =rMfG 7/;6Z3 N* 1GJ3nQZ8X/#On }:>a%G<<99`O#>!0XI?V92\xA='#^W^B_=]&0*Y;H(E7+<WV,;Z-R@K@1n@ SBZRE$Vh*F77 ,p>OR.\G9.U2; F(G.M j/G"WDB $[bU5D@;=0!4CF4\D%v-I!  ALA2U96:0FW]M&1NWg\A0!zN/' @-?T`@~93%+Z!T@[%2J  b"XYUXD?i G4UJD6'N]NR/a1zK@UL W?,`.K<9.V @<cJ 6lKpGT"S.> 5-~\MX*9JM*">(WXDjAQ]|ZFSU2R5b0? :h@A./t/79[{zsH*-t5 .LJDt\w>8g'(=D^O+]AIB 4]lE]((!KDCN[lN?&:/DPk:O6N \N4 MYvGpJ'r{2]2 X#f 0.3BEC,j[D:'ZX96)PT0Z1BE7}%,;O `6*% }T,?^,[L[\,B,=GM|7XS~>8*!U-V(\B] n7M3Qj k :|EtD~035j4Op9|Q !ZyLnL*T=+P]-PI 6o%f EWhGZUJ$`Q  7+ q(WV=;4>-fP>B@TpYJHH7.-(TIVm)N#Q:<K=-v8C)@p%#BJ\XQWQJJ^KH'SV7AR;]&^U<AH>@xR"TVaTe?9L"Y'X\RQ;$ 2;j#R%YBZUr@H ,tSrP0 = dM #$7JX(D/JsX9q B0L>A&,4^2)69u;)K'O[eB<;M82:(*e$! NU5 H S1)M$A(x" %5P  " W$UD6.5)yO.S&SQz V ?3\4FSv*'+HLNK 4ND7Ib^'T* C!P8"t^{ 9< [> HPN.5)%%&^N).+H.\@w3AG&%K@Q+RZR6o