ELF>*@( @8 @QtdPPP ] ]Ptd|||>>xxxE(FRtdxxx   $$     h`h`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX]@]ii ]ui ]]ui ]x+P+@ WH QPQXP`PhPpPxP W QQPPPPPPQ QQ Q(!Q0*Q8.Q@4QH=QPFQXPOQE\5 XQ(38`@\H+XAU? X("X0(X80X@6XHAXPQXX]X`PVhmXp{XxXXXXXXXXXX YYP P0 E    ]P { ]P  Q {  Q W { W W  {8 W@ XH {` Xh Vp { V Y _ulȿпؿ (08@HPX ` h p x  !" #($0%8&@'H(P)X*`+h,p-x./0123456789:;<=>?@AB C(D0E8F@GHHPIXJ`KhLpMxNOPQRSTUVWXYZ[\]^_`ab c(d0e8f@gHhPiXj`khlpmxnopqrstuvwxyz{|}~ (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx (08@ H P X ` hpx !"#$% &('0(8)@*H+P,X-`.h/p0x123456789:;<=>?@ABCDE F(G0H8I@JHKPLXM`NhOpPxQRSTUVWXYZ[\]^_`abcde f(g0h8i@jHkPlXm`nhoppxqrstvwxyz{|}~ (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx ( 0 8 @ H PX`hpx !"#$%&'( )(*0+8,@-H.P/X0`1h2p3x456789:;<=>?@ABCDEFGH I(J0K8L@MHNPOXP`QhRpSxTUVWXYZ[\]^_`abcdefgh i(j0k8m@nHoPpXq`rhsptxuvwxyz{|}~ (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx    ( 0 8@HPX`hpx !"#$%&'()*+ ,(-0.8/@0H1P2X3`4h5p6x789:;<=>?@ABCDEFGHIJK L(M0N8O@PHQPRXS`ThUpVxWXYZ[\]^_`abcdefghijk l(m0n8o@pHqPrXs`thupvxwxyz{|}~ (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx      (08@HPX`hpx !"#$%&'()*+, -(.0/80@1H2P3X4`5h6p7x89:;<=>?@ABCDEFGHIJKL M(N0O8P@QHRPSXT`UhVpWxXYZ[\]^_`abcdefghijkl m(n0o8p@qHrPsXt`uhvpwxxyz{|}~ (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx      (08@HPX`hpx !"#$%&'()*+,- .(/0081@2H3P4X5`6h7p8x9:;<=>?@ABCDEFGHIJKLM N(O0P8Q@RHSPTXU`VhWpXxYZ[\]^_`abcdefghijklm n(o0p8q@rHsPtXu`vhwpxxyz{|}~ (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx (08@HPX`hpx      (08@HPX`hpx !"#$%&'()*+,-. /(00182@3H4P5X6`7h8p9x:;<=>?@ABCDEFGHIJKLMN O(P0Q8R@SHTPUXV`WhXpYxZ[\]^_`abcdefghijklmn o(p0q8r@sHtPuXv`whxpyxz{|}~ (08@HPX`hpx (08@HPX`HHHt H5%@%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逕%hp%h`%hP˞ƞfDH=HH9tHHt H=H5H)HH?HHHtHHtfD=u/UH=fHt H= h]{f.ATHHH QUSH HQH$D$<H@D$@HD$XHD$`HD$hD$DD$HHD$pHD$xHDŽ$HDŽ$D$LNRH$RPH$RPH$RPH$RH$RH$RPH$RPH$RHs#PH$P1L$L$H쀅tZD$LntaD$LNtXD$LttD$LTtvD$LhD$LHtHH5#H8vfD1H []A\fD$PT$<;T$Dt0HOH5 $H88fDD$PT$<;T$DuHD$`HH8A vH+H5$H8frHI(HuHL$hHq8^K wHN(HuHL$xHq8^K wHN(H{H$HI8Ys `~xHA(HMHD$XH@8HHD$pH@8L$$X9tPHXH5i#H8!@D$PHcI "HcN @HcN ^HcA 농Cv#CvHH5)#H8Lz$AHD$D$Ht$PH$QLHHD$$PATH$PL$L$y(H HD$HtHSHLH|$P)H|$pH$H$H$HT$H4$1H=SRuHt$PH$PHLHD$$PATH$PL$L$=H @Ht$PH$APHLHD$$PATH$PL$L$lH Ht$PH$RHLHD$$PATH$PL$L$hH ff.SHHC[ff.fHSHt`HC[fDHSHtHC[fDHSHtHC[fDHSHtHC[fDAUH=ATUIHSH5LtHI$xHI$H5HH9Ea1HHUH<xHHUH=HOHfBL-LKxOH=0;x?H=IHt&H&HHtLH58τtE1L]A\A]@LHHI@HفH8豥uHH5 H8H=u?IH`ĐHH5H8JHExHHEuH`H5xHwH81荢kHaH5"H8PHFH5H85H)H5eH813HH5H8ATUHHtH5HHH}IHtH^I9D$t/ItMuH[]A\A]fD+HHL` H5& LLtHH5 L9HExHHEuHH[]A\A]ÐHEygDHExHHEuH8HvH5H81"1H5f LzuHEAff.@H;=uAUATUSHHHGHHo H5 E1IHH5 HtEkH5 HIH5 HIt]oDuyu2H5h H=-ot?IIH-,AUH51 H=,I5tMuH[]A\A]fD˥HHL` H5 LtPH5 LHExHHEuHH[]A\A]fDHEy_Df.?HExHHEuHfDHsH5b H8j11fH5 Lt.H5 L{HE HEff.fH;=AsAUATUSHHHGHHo H5 E1IHSH5j H<tEkH5R HIH59 HIt]oDuyu2H5H=e*t?IIH-J*AUKH5H=.*ItMuH[]A\A]fDHHL` H5eLHcEAIvAHHD;,|HC|$xL$LLL$XJcIHC9D9#T Ic|$HHIHL$h ?HL$p|$|A<;T$L}vDD$HEt$LHcLT$hIfH )Ht7H.z/t!D9#eHS< IcAA<8AHcEHIIvAHHD;,|LL$XHCT$xL$LJcIHC9*H$|$HfHLT$L\$(DD$LHs4D9Wf.z"f/uHHA9u6A;./HcHA4HpHI4A9uLT$L\$(DD$LHHA9Hs4D9.z/u .@z/@tA;.HcA4H0I4fH8LQIIH9J|(J|)L)I)DHD$`1AKK9rHD$`D$$DH?P@~=|$|A9HL$p<;T$Lt$LHcfEH $Hl$hL$LL$p)LT7DI|$XD|$|7|$XEt0@2t$|AHLI9=f.zf/uf.@zf/@tD9#?HS4 IcA4IHArH0LBIIH2Jt(Jt*L)I)DwHD$`1I;I89rHD$`RH=AH9HL$p|$|<;T$Ldt$LHcLD$pfLT$hH )Ht7Hff.zf/t"D9#[HS< IcAAHcEHIIvAHHD;,||$H,t$LHcLT$hIfH )Ht7H@.z/u.@z/@t,f.D9#WHS< IcAAH|$hL\$HcH4A+JD9D7A+D3D9 D7A+D3ff*ȋt$ f5Y$t$p)*Yf*^f(,DŽ$hH$Hp jjjA6AvAvAv$$H$MN(MF H@ډjjjAv@$H$MN8MF0lH H$VNHDŽ$fD$1ff(fAWAVAUATUSHH$@HL$LD$ DLL$(Et:Ht$HH=ǷD$H芞H[]A\A]A^A_F H9FuyH$@@6t$ u܃{uDKEuH$0DFExIHV;HH9tH$@L~uH$8|$ ILh|$ H\$ՌAD$0t A7趌\D$0{Lt$PAEH蕌Ht$MHLLD$0iZt\D$0AEZD$<ZD$8GE1ILD$0L$@$@H$Pt$@t$@t$@ATjL$|T$xQH@\D$0AE8H$@D$0tK΋\D$0HAǛL/;H\$H)H衛@HD$LLP$@L$@LD$(HT$8Ht$0|$ XZ@H$@Ht$HH=PD$ HD$AHt$LYKfD Hk"S sHLMLEHD$CPCPjMuׇH D$ fDAWAVAUMATIUSHHxH$H$T$(L$L$\L$LL$XSA|$ fAH$DAt$T$A*HAH$H$H@H$ID$HPL`H$HPHT$`HP HT$hH$ RH$ RAW$$$Q$D|$`D׉$Ht$8D$ H$D$8H0tHx[]A\A]A^A_@IHH$IGH$IGH$IG(H$IG@HD$xH$`PH$XPH$XPH$PPH$xPH$H$$|$`L$hL$XH0t$\H$ |$0H$`L$hW71$DŽ$HD$ $ |$XHcL$XHD$1Ht$~HcTHH9u|$X{ HD$x_T$(|$XILH$X4\$0l$XL9N뉬$H$X4[H$H$HD$pH$H$+HcE1HHHD$HH$H$H$HD$8H$H\$PHD$(HD$xIcH$XLL$HfDl$\9$4$ʼnD$4D)fT$(|$XILH$XS|$0|$0HD$ Hƅ~Hc1fIcHH9uDŽ$Dl$4H$T$XH$Hp jjjA7AwAwAw$$PH$MO(MG vH@ډjjjAw@$4H$MO8MG0{H ZH|$ ՎAWAVAUAATUSHH$HL$@HDŽ$?IAHDŽ$?IcyHD$$$Av@H$H$H=$HĨ[]A\A]A^A_HcF I9FuyH$HI94$uA|$uӋr H9ruyH$oHH92uكzu9|HI9 tH$/AyuH$L ;HD$0Hx Hc$:IH& HD$Lx$D$EH$LW Hc$L|$LE1Hc$L|$@HHHD$I1E~?t$ f.McH4HK4H9ut$ 1DMLHH9uAHT$D;L$uAL|$ABDAL5uf.$LHc$LII$LHH=M _Hc$IL$LųHILI$H=%M _$H D9d~]Hc$Lc$LE1II1E~-@Hc7A$fDHcH褧I$HAEXHcxH4$HHt"H1[]A\A]A^A_fDH$HH"H=HuUD$ DDDJ@H4$HI$H/H=H(UD$ AUlAMhAWAVAUATAU`SHHxL$L$4DD$0EGTAG\DL$,D$wIG`HXOfD$0*D$,YD$Dh,l$pl$lAE8AGXDHDHD$@;DHD$H螥DHD$P葥DHD$X脥HD$8H|$pL1LH|$lIAW\MG`IŅf ēAX*Y,Ʌ AwlAGh)<39 Y,ɉ)<39 tY,ɉ)<9 VY,ɉ)<9p 8Y,ɉ)<9N Y,ɉ)<9, Y,ɉ)<9  ޒY,ɉ)<9 Y,ɉ)<9 Y,ɉ)<9Y,ȉ)<39L$lE19KAH0MP8L$lAW\DAGX1IGlAWtAWhI_xB<9McGpIOxAGlLJH\$@Awp9LcAGlJAwpH\$H9LcAGlJAwpH\$P9uLcAGlJAwpH\$X9HcAGlHApHL$83fH$AwLAPAoHHHH$t$lL@HA0HD$@HA(HD$HHA HD$PHAHD$XI@|$pHD$8Az1ELqLaAGXMPIG`MhLp(L`LP8Lhh 8p0pHD$8fnAPM~D$@fInL$H$$IG@D$Ht$0|$4AfInD$PAGfInD$XAG fInflAG0fnfbfAGH AG\Hx[]A\A]A^A_f.AGXAl 49A;whMcwpAwlLMwxAOpMp(L$lAh AGhX9McWpAlLMWxAWpMP8AH0L$lLMMMDMtHtMt MAwXD$lL$pA~Gl(44fnfpffAGlAAAAAAAAT$pDDD$lD;T$, AO\MO`AGXf *(YD,DAGlAwh)DA9 nYD,D)DA9 LYD,D)DA9 *YD,D)DA9 YD,D)DA9f YD,D)DA9@ čYD,D)DA9 YD,D)DD9 YD,D)DD9 ^YD,D)DD9 Y<D,D)9 fLL$E1A*(YD,D)9 ȌYD,D)9YD,D)9YD,D)9hYD,D)9HYD,D)9l(YD,D)9HYD,D)9$YD,D)9ȋYD,D)9YD,D)9fH|$1A*H|$ Y,ẢE)AA9`  /Y,AE)AA 91  Y,AE)AA 9  Y,AE)AB 9 ɊY,AE)AA 9 Y,AE)AB 9 Y,AE)AA 9s cY,AE)AA 9M AY,AE)AB 9' Y,AE)AA 9Y,AE)AA 9Dt$lLL$ E19: AG\Ma8Eq0Dt$l9AG\M.AwXADLL\$#mHmL\$LmLmL$pD$l2AT$AIԃAWtAWhIEGXEAGlAWh HcLD$HL$kAW\L$LD$Iƅm H2 fLD$ *|$=a|$(=|$DXD$(YD$L$YD$D,IcH;kD$HuII_`AW\AGXpAGl4 A;OhMcopAOlMMoxDAwpAt5MEfnfnIfbLL)MfHnfpff~fAGlMiAT$p A;WhMcGpI_xAWlDLAOpt5HsfnfnHfbHH)HfHnfpff~fAGlIYAy|$lB A;OhMc_pAOlLM_xAWpMY(1Eq Dt$lAhGB 96McgpAOlLMgxAWpMa8Eq0Dt$lgAIcLL$HiLL$IAG\}M]5?=s M_t$|$XD$YD$f*L$pYD$(D,IcHiD$(HuIIG`AWX|$lHD$AG\f ܅*(YD,DAGlAwh)9HL$HcIcWpIWxHD$Hy(H)H4KA~OlfnHL$fpHD$fHQ8HYHHA(fHQ8IW8AWXHA(IO`IGAG\HL$ fAGlAaIcHgHAG\H5=A ӄt$|$XD$YD$f*L$lYD$(,HcHxgD$(H AuHIG`AWXHD$ AG\t4f PA*Y,Ʌt"AGlAwhf.^DHcL$HfAW\L$IÅBHf-5A A*ʃl$t$d$XD$YD$L$YD$(D,IcHsfD$(HAuIMO`AW\AGXDt$lIcL\$HLL$,fLL$L\$IAG\t3MIq8L1@LL$Iy8fAG\L\$LL$Ma8YIDLt$ L1L$L\$Iv(I~(fAW\L$L\$HD$ MO`LX(AGXHt$ n .Dt$lAW\'AGl{AHHD$Hx,fAG\Ht$IO`AWXH^HL$ Ht$Dd$lDf AG\MIIyLL$eAG\LL$IO`AWXMi|$lHL$E!Dd$pAG\fHD$ IcWpMcIWxHx8H)J47~A~OlfAnHD$ fpAW\MO`fLp8LX(Lp8AGXMw8fAOlfDIyLcIcWpLL$IWxJ4/H)LfnIw`LL$A~OlfpAWX|$lHt$IA8fIA8IG8IA(LIA(IGIALMiIAIG0AG\fAOlH=It$0TD$l@T$pfDE1E11=fE1E1Mt$lM|$pMILl$pLLH-H5e~)Lbt@t$0LT$lRL$p$$t$4D΍HCLD$0LD$ DIIp(L1L$LD$蠏LD$Ix(2cAW\L$LD$I_`AGXMp(Ah tAW\L$lupHcL$HbAW\L$I…t2HHs8H1HD$%H{8bAW\L$LT$LS8K0L$lnAlIIx8LcIcWpLD$IWxH)J47bA~OlfnLD$fpAW\I_`fMp8AGXMp8Mw8Mp(fAGl $$T$4DʍHL$0DȍHD$@HD$HHD$PHD$8HD$XE1E1kE1#HD$8LL$ AGl|LL$AGlff.AWIAVIAUAATMUSH9~jÿDM>fD$ HcII$I>^t$ I<$fDA9AMH[]A\A]A^A_R^fVfUSHHBXt0Bh+St)SlCtH{``HC`H[]f.Hh`H``ff.AWAVAAUATUSLH8MH`D!|$$EPXt$(Ax\ EAnMIIEshSl-A9LccpSlLLcxCpAt AEIMMgE/D)C\tC\MeA:Lc CPH81[]A\A]A^A_fA*Yw{D,$DIcHL$ILL$:^LL$HL$IċC\VMuuD$, %{l$,XxfLL$Y{* HL$YD$D,IcI]D$HL$HLL$ItEIMσD$(I~Hc1@HIHH9uHL$E^HL$Au LcCHH81[]A\A]A^A_EE@hCl8A9My8Ea0D!C\tC\ML{8CLH81[]A\A]A^A_@DD)|9f yA*YD,DD)|9 yYD,DD)|9 yYD,DD)|9p dyYD,DD)|9J ByYD,DD)|9$ yYD,DD)|9 xYD,DD)<*9 xYD,DD)|9 xYD,DD)|9YxD,DD)9mHL$$DH5wDcLD{PH81kH;STC dH8[D]A\A]A^BA_f.B4A9|Lc{pSlLL{xspMy8Lc0CLH81[]A\A]A^A_fDIcHL$HLL$zZS\LL$HL$IDžtH Iq8|$(HHL$LL$胇LL$Iy8[HL$LL$mfDIt$fnfnHfbHL)IfHnfpffClf.E1 AFHcSpLcHSxHHL$I|LL$H)J4'肇ALL$HL$wIA8LIA8HC8SpEClIMAv+ʼnSpMgklf.E1Iq(LIq(HsEthMgfnfnfbfClOMaMaLc0MgSpkl2|$(Iq(LHL$IHL$^ff.fHх~Hc1@HHHH9uff.AWIAVAAUAATUSLH(Ax\A7$IH`EAHEeDCXAHHHAEdSlDCh‰D9HcCpSlHHCxspt>Aw8L@fnfnIfbLH)LfnfpffClfIN4)IFA.A/S\tS\H([]A\A]A^A_fAA)DA<ED9f tt*Y,AA)DA<D9R MtY,AA)DA<D9+ *tY,AA)DA<D9 tY,AA)DA<D9 sY,AA)DA<D9 sY,AA)DA<D9 sY,AA)DA<D9h {sY,AA)DA<D9A XsY,AA)DA<D9Y5s,AA)DDD91H([]A\A]A^A_fDHcHL$HHT$US\HL$HT$E,rA HDXHpfHL$YsrA*HT$YD$,HcH3UHT$D$HHL$Au18Df*Yr,D9EIIAt]AEHcSpHSxHL$HH|IcH$H)H4肂AH$HL$SlspDAASlDcpIFfHIN4)I~A4$~Lc1DHHHL9uH$TH$eD1QHQ8HHQ8HS8]@Hy(HHy(H{Et"A BfIFfnfnfbfClHAHAHC0%H<$HHD$̀I~HD$`ff.@AWAVAUATUHSHHcETHU(Lu@HL LEML}8HM0E&HcH] E~Ic1fDHHHH9uAN,LMcA}IL*EmA>LAMcMLAHcUpfHnfInLeHflHUxHE0LH))Ul)щMpH[]A\A]A^A_AWIAVIAUMATUSHcHHHURIHt-M'Ӏ{IȀIEH[]A\A]A^A_fH|$Ln1HnH5fmH|$%H|$QfATHUHQIHtHL]A\HLm1HH=nH5lH!QHL]A\ATUSHHHYQIHtQHtHcD((I BYDYYYA\X:B@E1|$ sT$ALct$ HcH1HN@.z*/u%HIH9'A3AC.z/t((HuYYHcDLYY\XD9}LUDlIc4H(D(YI4DYYYA\XXXFFA9N@A߀THMMcMcWIOLQMf.Hcy9H]D((Hc  DDHH (yE(YDYAYYA\XXDX9((LYAYYDY\AXAXAXpAApMM9IAAE)EEE.AAEEEt E`AEcA#fDnDfDnMcO$1EHEfAALE((DYA(YAYAYA\X(A<ALH H9uDۃAD9LcD(ƃO$A$AL$DY(YYYA\XA<$AD$DcE9Hc(HM$AL$A$YD(DYYYA\XA<$AD$A9{IT(D( zYDYYYA\Xj>Hl$ L3+HH3H501HfE1HMMcMcWIO=3LQMfHcy9H]D(D(fDLHc ,HWH (Dq(D(AYDYAYYA\XDXDX9((LAYAY\AXA(YAA(YXAX@A@MM9|I2fHl$ LL2=f.Hl$ L,2RADLfHLDHH9uDڃA|HcIl@AAcDIcfIHHDHH9uDۃB;D9HcI fD((D(D(McIc1IIJ(D(YDYYYA\X:BLA9uD1gASMcEIc1MAIIIfHJ"LA9uDDʃDD9!LcDKD91+D1fD1f.AUfnATAULSHHfn$H$XLL$fn$PGfbffnfbfG HCHt-H$@fHnD D$HP@H[]A\A]fLl$L403H`0H5,L虽LHCff.AUfnATAULSHHfn$H$XLL$fn$PGfbffnfbfG HCHt-H$@fHnD D$HP@H[]A\A]fLl$Ld/HH/H5,LɼL1HCff.SHL_LVHGLcOFHG HF EEEI{IrAXD1HHHH9uISIrHzHH)H D1HfDoHH9uDAt)<HL$IcE1HffHBZAG ID9ڿ A̗Dl$E9g 跗HH8H[]A\A]A^A_:f.AWAVAUATAHH='USHHIMp@MhIX HL$0IHIh0HD$I@Mx8T$7A$$9L$H$L$D9l$4H$ IH$\$H$DHD$pL$@EDBLHD$`H$`BHD$hB4Hc9}AHcTH9HM$L$x$$|$S^$AW|$(LL$HLD$8HL$@H$H$D$0LXH$H uEAID9t$4"\$L$D;$mD$H$PDT$X;T$0}6ҸI9D$0~&A|uAT9‰OH;L$0|ߋ$H$HMH$H$LL~H$ H$L4H$PiH$H\$H$IOHP$HcD$XBAo_AoOAog(H$foffJB$H@Aoo0hIW@HPH$H$@LX@PX@@AG\AG\C $[H|$H|$xD$\AUB ($L$49N9H|$xHcfPH9YD,D)DD9 YD,D)9 fLL$E1A*(YD,D)9 YD,D)9YD,D)9hYD,D)9HYD,D)9(YD,D)9lYD,D)9HYD,D)9$YD,D)9YD,D)9YD,D)9fH|$1A*H|$ Y,ẢE)AA9`  Y,AE)AA 91  Y,AE)AA 9  Y,AE)AA 9 Y,AE)AA 9 Y,AE)AB 9 eY,AE)AA 9s CY,AE)AA 9M !Y,AE)AA 9' Y,AE)AA 9Y,AE)AA 9Dt$lLL$ E19: AG\Ma8Eq0Dt$l9AG\M.AwXADLL\$HL\$LLL$pD$l2AT$AIԃAWtAWhIEGXEAGlAWh HcLD$HL$誫AW\L$LD$Iƅm H2 fLD$ *|$=A|$(=o|$DXD$(YD$L$YD$D,IcHD$HuII_`AW\AGXpAGl4 A;OhMcopAOlMMoxDAwpAt5MEfnfnIfbLL)MfHnfpff~fAGlMiAT$p A;WhMcGpI_xAWlDLAOpt5HsfnfnHfbHH)HfHnfpff~fAGlIYAy|$lB A;OhMc_pAOlLM_xAWpMY(1Eq Dt$lAhGB 96McgpAOlLMgxAWpMa8Eq0Dt$lgAIcLL$HdLL$IAG\}M]5=S M?t$|$XD$YD$f*L$pYD$(D,IcHD$(HuIIG`AWX|$lHD$AG\f *(YD,DAGlAwh)9HL$HcIcWpIWxHD$Hy(H)H4+A~OlfnHL$fpHD$fHQ8HYHHA(fHQ8IW8AWXHA(IO`IGAG\HL$ fAGlAaIcHѧHAG\H5=A t$|$XD$YD$f*L$lYD$(,HcHXD$(H AuHIG`AWXHD$ AG\t4f 0A*Y,Ʌt"AGlAwhf.^DHcL$HզAW\L$IÅBHf-5A A*l$t$d$XD$YD$L$YD$(D,IcHSD$(HAuIMO`AW\AGXDt$lIcL\$HLL$ LL$L\$IAG\t3MIq8L1 LL$Iy8貦AG\L\$LL$Ma8YIDLt$ L1L$L\$Iv(I~(mAW\L$L\$HD$ MO`LX(AGXHt$ n .Dt$lAW\'AGl{AHHD$Hx AG\Ht$IO`AWXH^HL$ Ht$Dd$lDf AG\MIIyLL$輥AG\LL$IO`AWXMi|$lHL$E!Dd$pAG\fHD$ IcWpMcIWxHx8H)J47^A~OlfAnHD$ fpAW\MO`fLp8LX(Lp8AGXMw8fAOlfDIyLcIcWpLL$IWxJ4/H)LfnIw`LL$A~OlfpAWX|$lHt$IA8fIA8IG8IA(LIA(IGIALMiIAIG0AG\fAOlH=)0t$0TD$l@T$pfDE1E11=fE1E1Mt$lM|$pMILl$pLLH H5E OLqt@t$0LT$lRL$p$$t$4D΍HCLD$0LD$ DIIp(L1L$LD$LD$Ix(AW\L$LD$I_`AGXMp(Ah tAW\L$lupHcL$HAW\L$I…t2HHs8H1HD$H{8蜢AW\L$LT$LS8K0L$lnAlIIx8LcIcWpLD$IWxH)J47BA~OlfnLD$fpAW\I_`fMp8AGXMp8Mw8Mp(fAGl $$T$4DʍHL$0DȍHD$@HD$HHD$PHD$8HD$XE1E1kE1#HD$8LL$ AGl|LL$AGlff.AWIAVIAUAATMUSH^^9~j^ÿ^DM>fD$ HcII$I>Mt$ I<$fDA9AMH[]A\A]A^A_Mf6^fUSHHBXt0Bh+St)SlCtH{`iHC`H[]f.HHH@ff.AWAVAAUATUSLH8MH`D!|$$EPXt$(Ax\<EAnMIIEshSl]A9?LccpSlLLcxCpAt AEIMMgE/D)C\tC\MArLc CPH81[]A\A]A^A_fA*YWD,$DIcHL$ILL$LL$HL$IċC\VMuuD$, l$,XfLL$Y* HL$YD$D,IcI蠝D$HL$HLL$ItEIMσt$(I~UHGI9F1HfDfAHH9ut$(t AHL$HL$^Au LcCHH81[]A\A]A^A_EE@hCl8D9My8Ea0D!C\tC\ML{8CLH81[]A\A]A^A_@DD)|9f A*YD,DD)|9 XYD,DD)|9 6YD,DD)|9p YD,DD)|9J YD,DD)|9$ иYD,DD)|9 YD,DD)|9 YD,DD)|9 jYD,DD)|9YHD,DD)9lHuL$$DH5WDcLD{PH81kH2{STC dH8[D]A\A]A^BA_fB40D9|Lc{pSlLL{xspMy8Lc0CLH81[]A\A]A^A_fDIcHL$HLL$*S\LL$HL$IDžtH!Iq8|$(HHL$LL$3LL$Iy8ŚHL$LL$mfDIt$fnfnHfbHL)IfHnfpffClf.E1AFHcSpLcHSxHHL$I|LL$H)J4'2ALL$HL$wIA8LIA8HC8SpEClIMAv+ʼnSpMgkllf.E1Iq(LIq(HsEthMgfnfnfbfClMaMaLc0MgSpkl|$(Iq(LHL$IHL$il$(1AHH9uC~gHFH9tCGv;1Hf  HH9ut/f1@HH9u@AWIAVAAUAATUSLH(Ax\A7$IH`EAHEeDCXAHHHAEdSlDCh‰D95HcCpSlHHCxspt>Aw8L@fnfnIfbLH)LfnfpffClfIN4)IFA.A/S\tS\H([]A\A]A^A_fAA)DA<ED9f ij*Y,AA)DA<D9R Y,AA)DA<D9+ zY,AA)DA<D9 WY,AA)DA<D9 4Y,AA)DA<D9 Y,AA)DA<D9 Y,AA)DA<D9h ˲Y,AA)DA<D9A Y,AA)DA<D9Y,AA)DDD91H([]A\A]A^A_fDHcHL$HHT$S\HL$HT$E,A HDXfHL$YñA*HT$YD$,HcH胔HT$D$HHL$Au18Df*Y`,D9EIIAt]AEHcSpHSxHL$HH|IcH$H)H4AH$HL$SlspDAASlDcpIFfHIN4)I~A $~SHWH9Q1HffHH9u $ʃt H$H$-D1fHQ8HHQ8HS8@Hy(HHy(H{Et"A BfIFfnfnfbfClHAHAHC0H<$HHD$ݿI~HD$XD$$1fHL9u1AWAVAUATUHSHHcGTHM(Lm@HwLGLw8HW0H<IAMHcH] ~QAHBH9A1AIfDf  HL9uȃt D$L<>LMcA?ILE?A}LAMcMLƾAEHcUpfHnfInLeHflHUxHE0LH))Ul)щMpH[]A\A]A^A_A1HL9uVAWIAVIAUMATUSHcHHHIHt-M'c{IXIEH[]A\A]A^A_fH|$L1HδH5H|$,Hc$HLH$DHDŽ$XH$PL$PHLd$ZHH$4RATH$`R$UH|$@LL$hH$LH=I *$hH0L$L$~4Hc1DIcHDHH9u$Hc$4gHc$I41f.HcHA\IHH9u#@Y\A9D$(H$HT$McJ4HHH< H$LDIc HYYH X\9H$|$,Ht$XHc6ËD$09t$(xH$HH H$HL$fD IcHYH\9-L$PL1HYH5ALL$L$,LZL$L$"?HcHc\$(H$fAWMAVAUATUSHD$xLD$`T$HQ|$HJLjLL$ȉt$HL$HJHL$HJ HcH<AH|$H8H|$HxH|$HxH@H|$HD$9'HLcD$HD$JHD$HD$Dd$Dt$EBHD$0Hc9LEILDH|$HcHL$HcH|$PLHcL A99HL$1H9~PH\$ADHcH\$8I HD9!tDA4uHL$@IcHAH= y1.vfAW1AVAUATUSHHHnHH=xDuDt$KS13H= xHESDs H=xHD$1H=x1S~lE1E1H-wfC ~6HL$IcE1L4f.CHIYD9{  A5Dl$D9c HaH8H[]A\A]A^A_=AWAVAUATUSHH=)xHHIMh@IhM` HL$0IHMx0HD$I@Mp8T$Hl$0L-zLIAߋtLH A9Hl$0H=6wL=uz H$HT$HL$H|$ HcHcLc,H\HT$(HH$HH|$Lc4D;+}>HLIH'fBC4LIID9m~ H$D90HH8HH[]A\A]A^A_;DAUfATIUHcS1HIf.HH9thA܉f.zf/tH,H5yHH83[L1L yHhyH5nLRfH9uH[]A\A]Ðff.@AA~ATELcmUDf( yHSH׉IHA1E1fHL=HAt2fHH9uDE9t HALE9u[]A\1ff.HIAAIH|$AP fDHplTD$AQMVH5gQE@DASkuH8fD~9t8f(HfHHHH9ut Hf1ff.AWAVAUATUSHLfMl$~%uHIE1fDA$HcU AHH ~vf1Lf(Ӑf(A\ fTH_fT_H9u^H=NtAf(D9~%tH[]A\A]A^A_ff(ff.AWfAVAUIATULSHH8Ld$pD$Ht$M|$Mt$HL$ LD$(AG8L$f.f/-s,$AGH=gpfAf.f/IMHD$H=|pLhHc11HL$IcuH=p1HL$IcEH=pHc1H1jffRsZKZH=p^^8At$ H=p1%H=pI$$ffAZ^DAZNAAG8YAo AH=pYAgA^^H=pHD$(L$HD$H=FrHD$ H8[]A\A]A^A_ffDf5DrH=nAZVf(4$Y^f((/ $fҸH=nAZVDY^f(3ff.@AU1ATIUHcHH=SH~'1L-YtA܉LHH9uH1[]A\A]DAWAMAVIAUMATUSHcމH(|$ DDT$[9L$LHLL$H$o9X|LL$DT$HID[LL$ DDT$D\$'|D\$DT$HLL$ Hx~IVHH)HD1HAoDHH9uD؃At.HcA LP9|Hc҃A L9| HATEIULH)H ABD1H@AoLA HH9uDЃAt2ALA PD9}Hc҃ALA D9} HATAHLIHD$8PT$|$>8ZYt@~1fHcTAHH9uLMHLH([]A\A]A^A_@L$ Lr?LHEtH5JgLvK@1fDATAHL9uDHcH 1ATHH9uf.H$ Lq18HsH5fLL$(D\$ H|$xH|$JLL$(D\$ DT$f.H$ L1q17H4sH5cfHLL$DT$HJLL$DT$!ff.@AWAAVAAUATAUSLH89MH$pHL$LL$HD$ H$xHcHHD$kJHHA~HcHOJIHIcH7JIHE:Ic1HHAEHD$1HpHf.HcA;}HcHD9HA9AEE~51@LATALTHA9HD$HpE1HcF9~HcHHTHc A<9HA9uMcHJaL\$11|McAATA9}KJc MDIcDA9}*IcHT9:D AH9ATID9HL9uHD$0AGHHHHD$(HH|$ HHHD$Hc9HD$L0HD$ HHD$EhIcHHHD$mL|$E11H\$fDHD$EBD$fDL$~AvKfogfogHHHffoHfHH9u̓GHcʼn,E96HcЃ9%Hcʼn,D9l$HIL$A4$DHD$0IT$PLL$0LD$$&/AXAYD$(/Hc|$Hl$0D$D$H>IH|$|$lIH|$|$|lIH8|$glIH|$RlIH|$Ht$ 1xH9D$}L$HT$(1~H9D$H|$UHMHD$$PARLT$ AWAVAULL$HizL$@H0LT$~iAHfvHHfoHf@H9uȃt"HcЃ,P9}Hc҃,9}H,LLT$=L=L=L=LT$L}=H|$(s=^-fHl$0Lb1HdH5WHH;Dl$HL[b1 HcH5WQH;HD$L(b1H dH5ZWHH;LT$#HLa1HcH5!WHM;HLa1 H`cH5VH;HLa1 HcH5VH:M1Nf.DAWAVAUAATIU|SHHHLD$iIHHcLHBHT$HD$HM<LHD$0HT$I1DIc AHHH9u_AH|$0M1LD$(f.IcA4IcA4AHI9uIVLD$'H)|$'H@x1HAo,A,HH9u@t-A A P9~Hc҃A A 9~ HAAH|$L\$IHD$(1HH߽L\$Ht$(1Ic9t IcH|$H$HcAH$HcEl,D9}HcŃIcI4HDE9tH<$D&tMH|$HcHt$Hc LH$yHcω|$(L L΋>t<9TMDA r9t$|~cD9L$HDD$ Hc։D$ L$HcAlH$\$(HD$Gl HcHL$HcA,L$HL$|DLT$@L\$8DL$0t$(H$LT$@L\$8DL$0L@t$(DHcD$LH\$Aы4LHD$XH\$PI|+A)D9u99t$HNHcA47H|$X79^LcLcЍzJ J,)HH)HAMT(LA)DH1HAo:9HH9uEAB<B E9tCLcGLcσGDQD9~)McLcσGJ<G9~ HcA AL8)D$LH\$`HcD$LLA)D;d$lI|$ mEFHcD$LH|$H\$PIL9D$H~HAHD$XLIL(M)I|DFHH9u]ZDAWAH=YAVAUATAUHSHH$(HL$0L$LL$@D$8-KH$^HD$PHCHD$HCH$HCHD$XHC0HD$hHC8HD$pHC@HD$`CL$H$Hl$|uCTpJ$T$8Ht$IcH<H$D$HD$`HH$D0AD$EHcЉfHHt$xL$H|HTH)H|$HT$(HD$HcHD$HHc9D$tHt$0D$AHl$HD$H9D$(uHD$`H$DLdH$E4$D(D)$t 9$$8$uH$@H$ (1H[]A\A]A^A_Ht$PH|$XD)ቌ$Hc$$AD$HB,0;$Dd$pI܉/MLDDIl$0x9$}$MLDD^tPDLDd$pHl$hHC8HD$pHCH$t$H$D$D+$Mcx$H$H$(L$$IDJ,D$L$HIHD$H~fZD$xf/vfZT$x|$ fZD$|f/vfZL$|H$IcA HD$p IHD$hH IIL9l$HIcmHD$@LIcHL$hEL$0HLD$E-$1EDHH<`$ZՃDHcHB9$HD$hED8HMLDL$ H$|$DDL$ $1$l$D͉\$LAAHcH<`$ZAAHcH AD9$Iߋl$\$T$$MLHcH$H$MDHT$H|$ 輾H|$ >H$fD$ ZYZfZ@YZ@D$T$fD*D)+D$@(^t$(^T$\Yf*^ 3XZ^L$H$DD$@Ht$pH$HTH$DHfD)DD)HH9uD$H$H$@H$H$8ID)$oH$@$+$BZfD$Zt$*%/3fD$@A|$|$d$|$$2$@AWAVAUATUSHT$\HQH$$HJLD$LL$`H$HL$pHJL$HL$0HJHL$xHJ HcH<AH|$@H8H|$ HxH|$(HxH@H|$PHD$H$9HD$lIH$HcHD$HHD$fDD$lHL$AH|$pD$H49|eHL$@|$\H1L9:}H|$`L$HcAD2H$0H$HcЋ Ht$H|H49}L\$PLcOcD\$XO ME9kL\$E1GAtYL\$(McLT$ Oc GLEQMcDT$hL$N,MEAt;E9E f.Hct$IcH|$H$HcAH$HcEl,D9}HcŃIcI4HDE9tH<$D&tMH|$HcHt$Hc LH$yHcω|$(L L΋>t<9TMDA r9t$|~cD9L$HDD$ Hc։D$ L$HcAlH$\$(HD$Gl HcHL$HcA,L$HL$|DLT$@L\$8DL$0t$(cH$LT$@L\$8DL$0L@t$(DHcD$LH\$Aы4LHD$XH\$PI|+A)D9u99t$HNHcA47H|$X79^LcLcЍzJ J,)HH)HAMT(LA)DH1HAo:9HH9uEAB<B E9tCLcGLcσGDQD9~)McLcσGJ<G9~ HcA AL8)D$LH\$`HcD$LLA)D;d$lI|$ mEFHcD$LH|$H\$PIL9D$H~HAHD$XLIL(M)I|DFHH9u]ZDAWAH=*AVAUATUHSHL$HL$ L$L$D$(#%0IDŽ$D$IN^HD$@IFMN8HD$IFHD$HIF0HD$`IF@HD$XAFL$H$Hd$PEuAFT=$|$(Ht$IcH<H$D$HD$XHH$D(C6HcЉfHHl$8L$HtHTH)HHT$HcUHD$HHc9D$tH\$ \$0HH9l$uHD$XH$HlH$DDm+$$t ;$s$uH$fTa"H$1Hĸ[]A\A]A^A_H|$@)މt$pHcH|$HD$tD$lFD$hB(;$~gHl$x+@MLDDI^0._u9$}!MLDD _tafHl$xMN8H\$`INDD$hED$lT$pD$0+D$tHc$HTHH4HL$0L$H$D$L$Nf.H|$0LLD$ޟf\$`D$*$f(f.nQ^f(A*|$tH$E18HD[]A\A]A^A_H|$0LLD$fD$*$^ADD$|D|$ |$|D|$(IcLT D$p/t;D$ H|$0ML$H$LLT$XHLDALT$X@H|$0MLLLB$t$(H$Ht$(H9\$(9DD|$|$D$D$xt]ff~ %**$f(^f(fTf.FD,DD)D9yf.D9}!AEH|$H1)HHcHfDHD$HLH@BHI9uH,ff(- fUH*DD)fTXfVf(D,D9A9~eD$x5f r ^L$ DA*\ )^D$\D)Yf*^5 X^\$ Dd$(A9pH$D|$Lt$HL$HD$()T$0A9/HcT$ M,fA/UrߋT$ D$t$<F "HcIcHLTL| t$ptED$ H|$(ML$H$LLT$PHL\$@LDƕL\$@LT$P@H|$(MLLLL\$@轕L\$@$H$B'AHHIcAAEYALcfTXNTAYAf/ wfWdDX$LcNTAYA]f.LcNTA zf/X$YA!H$AH|$0LMLLLT$X趕|$pLT$XT$EHc$:YLHLffTH@H9uȃDHHDfTR|$p6D$E%$T$ DNDʃhApHt$@HcHt$PHH9[|$@PDH1HfAf$fT-fXHH9uDAHcHHTDfTD$0XmD|$$D$L$AAY A ^H|$(MLLLDL$XL\$PLT$@|$pLT$@L\$PDL$X$ Hc$LHLffT/H@H9uȃDHHDfTD$0H$H$H$HTH$DH)DD)<HH9uGDH9H)HHDHHTfDHH9u5D$(H$H$`H$H$XI)T$)؃$蜑H$`$D+$*$f(T$D$ DD$@IcLD$PHf(T$0JTH)HfTXFFH9uOHfDl$tE1T$`HD$T$ HcHL~  H4HD1H)@ȃfTXHD9u_H~ HHDHcLH)HfTXBBH9u"HcHcIcf(T$0HHT1H)ƒfTXHD9udHL1fTW H9u1HL1fTD$0H9u/$f(D$D$$f(b18f.fAWAVAUATUSHT$HQH$|$HJLbLD$Lt$HL|$hLL$HL$HJt$HL$HJ HcH<AH|$H8H|$HxH|$HxH@H|$HD$9lHLcfD$H$J~ LHD$HD$Ht$IADl$Hc;Lt$Hf(EIl$Hl$HQHL$HcLT$`HcHL$THcLMA:9}A2H\$H9~rUAH\$f(ȋ fTf/v MAHcH\$@I4D9.tH\$D4_Ht$PH\$IcHA 9ILHD$t$IHHD$`H$HD$HD$@t$9l$H[]A\A]A^A_H|$pHD$H|$A2Ht$Hc4Hc4H|$4FDDHD9|]H|$H |$L99}H|$H\$XHc7D H\$pHD$xHcʋ4HD$DDHD9}L\$Hc\$ȃIcff/H$IcHc7XfT gf(fDHcIDX1 fWH,H\$`DM9l$$\$$DMH|$XIcH\$hHtfDHcHH9tbHcLHA9,H$E9}%HD$f.HcA9_HA9IcIcKXfT f(HH$H1LH5eDL$tLT$HD\$8L$hH|$H|$uHD$XD\$8LT$HL$hDL$t5AWMAVAUATIUSHcH4HXL$HL$Ht$8IIH|$MPIxHT$HD$0A@HHL$ D$LHHHLT$(00Ict$9cM< HL$LMMH $MHL$HT$HcA9LMMMIAfAMHcH9~QIc4HI4D;&tD&h9l$LH $|$L$F=L$IxLDMMIMHL$HT$ I\$HHL$929l$}yL$q9|nU))σv;HL$(HT$8fnfpHTHHHH9u9t%H|$(Hc։V9|Hc҃9HcHcT$H\$0MLHHL$ HcHAA)D; $ HcA); $DA<>); $A-$VHL$01AAHH9ufHL$8Ht$01fDAHH9uLt$@L1=LHVH5jLH<$ H|$AWMAVMAUIATAԺUHSLHLLc1LJLD$YLD$1f.HcT9t A|OALHL9u1HcT9ufL9t HcE9d|PAHcA7ALtD9~@HATƅ9HuI9H[]A\A]A^A_I9jAAWAVAUATUSH|$8EHIHMLE1MpA tZLcBJ9:)LDLLM @Ic;}Lct$A90HD$hAHI9t7HcA9tt%HI|DEtM E:E99}E9Ht$AHcD$D|$LT$pHT$E:D$[1]A\A]A^A_Ht$E1Ht$D\$Ht$hHfUIISHZMPHH~L)HBAƒALQHL)H~A1fAIDoAofoffffffHL9uЉЃDP9trMcNFJF\E~ADDPD9|FMcIBlG\J~AۃD9 HH\ATLAAML\HIL9tcHf.‰HcH~ŃA*؅yHH ؅xHIL9uA~#HADADHHH9u1[]Ð1DEE~ADHH9u#@AAWAVAUATUSHhLL$ DH|$L$Ht$(H$HT$0EHh1[]A\A]A^A_DHAIMMHD$8H$IȻAT$$H$kH$MFH~-DHc‹uHI At؃؉܉|$XHD$9gH$Ht$XD$\D$PHHt$@HD$HH$L$MML$LhHcIcTH|$ MMAMD$TMH$7Ll$HƉt$D$P;D$/HcIcT$X~Ht$8HH<Hc7A4~ ALDLىHD$D9^D$\UD$\9HD$\PUAT$$H$HT$XH|$hHt$PLL$0LD$(Hc$L$|H$T$|HD$HH(E|L$LLL$xLD$PD$\nLI U9}HH9uCDHt$DMMMM9HD$\H|$TPUAV$$AQAP$HL$pHT$hLD$`L$$H@HcIcTD$PMMH$H|$LLMMf.DAӸIDH؍wAD9DNރfLcΉ1CHcHI<f/r#ID9|f/rHH9|f/O v A IHcI<f/r+ID9| f/rHH9f/v A I9} Lc\@AD9t."FDHc)A)MЃ~AvAff.@AӸIDH؍wAD9DNރfLcΉ1CHcHI</r#ID9|/rHH9|/O v A IHcI</r%ID9| /rHH9/v A I9}LcffDAD9t."FDHc)A)M~Av"AAWAVMAUIATAԺUHSLHLc1LJ@1fDHcT9t A|OALHL9u1HcD9uT9t HcE9d|AA HcAtt?9~;AHfDAT@9H@u9H[]A\A]A^A_f9 f((WTUVB((W{TUV/rX.^&(Y(YXYVYX^\^Of.^&(YX9YN(YYX\^^OfPH9H=\HDIff.fG/vW w/vWk/v ((((fXZ.z uf(f^fYZX(f.wQYfZZf(HT$zT$HYfZZf(ff.fO/vW/vW XZfUfHSHH(Z;fH|$Ht$ZfZZEL$L$D$YYL$ZZKH([]ff.@FW GfDfZGfDHfW/vW/vW/v ((((fXZ.zEuC.z&u$f~f~HH H fHn^(O^f^fYZXHff.wQYZH|$$$衛H|$$$fאH_f.zu.Q(gfD((YYXfZf.wnQfZ\YZ.wsQffZXZ^Zf~f~HH H fHn(f((\$ L$\$ L$fp\$豟\${fDAWHfAVAUATAULSH8_0DgPH$$_Xd$8wg@\$H$8x H$`LHt$xZL$x|$L$H$8H$$$H[H$pPHXAHCLsH$H$HCHD$ HC HD$(H$PH$PAW$$$ QD D׉$$D$|FH$$H0tH8[]A\A]A^A_fIHH$ IGH$IGH$HIG(H$IG@H$H$PH$8PH$PH$PH$ PH$$$L$ L$gH0|H$(HD$P*H$ߋ$H$L$X1$LDŽ$HDŽ$$$HD$XHƅ[1@IcTHH9u$HL$6H|$XHL$HD$@HWH)Hf^$Ht$@1Ho,,HH9u$@t7L\$XLT$@A4A4P9~Hc҃A4A49~ HAA$HL$IUHL$HD$pH)H$HL$p1H@Ao\HH9u시$؃t2H|$pAL P9~Hc҃AL 9~ HATHc$HPHDŽ$I$D$$DŽ$DŽ$9N؉$(|qf*)Yl$h,ȉ$$9$fH$ x*^H`efZ$,H$ L$DHH$XH$L$XH$x $97\$H$ލ, H$މ$HH$Ld$P޺H$LH$H$@H$HATL$ LD$8HL$0H$hH$A\X$(|Hc$D$H$P$DŽ$|$`D$H$$0$ $$$hÉ$HcHH$Lcd$HH$BLJD$xD)H$8D$0HDE D9$$H$H$AT$D$HcD,Ex D$fffH$*)$*Y$*Љ)^Yf^f*Y,ȍDf$$*$$$Y^D$h\D$8b$ j$$(AW$$$PH$L$@L$D$H $E$f$f$*L$*XY^f(\f*D$Y$Yf*$f/$0f(X]$0$ f/v ,)$HAWHL$0L$LD$8H$ t$ |$X?H$^_ H$H$@L$L$$H$,H$HcH$$Hc\+$D$0Lt$0Dt$HH$IHˍ4(AGPA$'@ML1҉DQi$A9Lt$0L$L$\$H9\$H$H$fL%HD$HH$H$$l$0fH$$ALHD$ AEH$4HD$(9 HcffAUA(T /v AMAHcH$IDH$AED$JcIG E9qDLT$@L\$PHc)MDDHcHI9IcTHA94H$PA,IcE .fD$hD$E&;f'Y$*L$Yf*$Y\,fD$YT$`_\$`fZYf/wW f.HD$@HcH%H$,$D$fffH$f$x*)*Y$*Ћ$)^Y^f*Y,ȋ$fL$0$$*Y^D$h\D$8R$ j$$(AW$$$PH$L$@L$$H f|$0f$*$*L$XY^f(\f*D$Y$Yf*$f/$0f(X]$0$ $xf/P,)$@@MDLL$0H$+CLL$0H$$ $hfd$0ff0*L$$x*$XY^\f*D$Y$f(Yf*$\,~o\$()É$$ \$H$Hƅ~H$Hc1HcHH9uDŽ$Hc$HH$?ꋴ$Y$0$_$08Ht$p1fATHH9uHt$@H|$X1fDHH9uf䋌$$xY$0$_$0$L$L$D$HE;$<$)GfHD$(HcՉfHLHHT$ 1fAooHffH9ufofsfȍ)fofsff~9tFHt$(L\$ HcD$H<A+JD9D>A+D;A9| D>A+D;ff$x*ȋL$f_Y$)*Yf*^,3HD$@JcH$HD$@HD$pȵ$f$ܵ)19)GHD$(Hc͉fHLHHL$ 1Aoo,HffH9ufofsfȍ .fofsff~9t?L\$(LT$ HcH4AA+y9AD3A+D29 AD3A+D2ff*ȋ|$f-ôY$$)*Yf*^, DŽ$H$`Hp jjjA7AwAwAw$h$H$MO(MG oH@ډjjjAw@$H$MO8MG0qH _H$+HDŽ$xfL$H1ff(fAWAVAUATUSHH$@HL$LD$ LL$(t<Ht$HH=ED$HlH[]A\A]A^A_f.F H9FuyH$@@6t$ uD[EuDSEuH$0DNExIHV;H>tH$@PDFEuH$8|$ ILh|$ H\$踈AD$0t A7虈\D$0{Lt$PAEHxHt$MHLLD$0LVW\D$0AEUD$Ht$LkUHfD HkS sHLMLEHD$CPCPjMuH D$ fDAWAVIAUMATUSHHhH$L$T$ L$L$LH$LL$SA~ DfAH$SAvA*HT$AH$H$H@H$IFHPLpH$HPHT$PHP HT$XH$RH$RU$$L$tQ$D|$hD߉t$lHt$@D$^%H$$H0tHh[]A\A]A^A_HEHH$HEH$HEH$HE(H$HE@HD$hH$PPH$HPH$HPH$@PH$hPH$8T$|t$l|$hL$XL$HH0t$LH$|$8H$PL$X$71$DŽ$HD$$|$E9}\LT$ H)LKILLHcME1H@Ic AY HH\9ALLE9uHD$HD$A9L|$Hl$0D\$Ll$HE?JLt$HD$0IFLt$0HD$HL|$PEHt$(fHV0HN Jc<2H|$D+H|$$BD2D$)$HFQHcA*XЃ2T$HH H5H$RH|$(L$ATH$RH|$@HHH=;PH$PL$L$,D$H0T$ED$$D$Lc$D$|$MIHt$HE1H|$HLHHHHD$HD$|$N9|$}iLMLIAqIcf)*X9~2H}Hc AYLHI\9HII9uAMME9qH\$01HCH9+HD$0IAHHH9uJT$hHCML$HH5ǔH L$HcH2AWASL$L\$xARH|$@D$$HHLT$xPL$ATLL$@L$+H0H5MH$HH$PAUH$PAWL$ASL$ARH|$XD$<$HHHPL$HL$P(D$H@T$hE$$Lc$Lc$~_HSHE11E1H,HH|KTHHcHHHI \BBH9uALME9uLcc E#Lc$H|$ IcAHJH1L\$HHHHIHLH9@HHIHLH9@]AO@H@CM$ EMAILK 1$^(U(LLD9uDHHt$D9PH<^H<qD90H4^D9HH4^D|$Lt$L|$PD$$Lc$AL~AAJ|$ AHD$AAMcILcD$AAILcD$IGIHD$(IK,'E1DL$0LL$@K/O71~{fIc HAHH9uHH+D$(Hvz|$ vsA44HI9u9t$0t,EB"9t$}B*9t$} AB2AHT$D9T$kH$H@PD_DAHHH9uH|$1L$L^HD9uoH1L\$HHHHIHLH9@HHIHLH9@AO@H@M$ EMAILK 1$^(U(LLA9u2L$Lۥ1LHH5f&LyL$L1LH1H5i-&Ly?H|$1L$L^HD9uHD$(fLc`E`GDff.@~LAUL-FATIUHcS1HfLAZHH9uH[]A\A]f.DfD$ HcII$I>_t$ I<$fDA9AMH[]A\A]A^A_^fvfUSHHBXt0Bh+St)SlCtH{`\HC`H[]f.H\H\ff.AWAVAAUATUSLH(A@XS\M@`D)|$A~f bxA*Y,хՋClshD)|9 3xY,щD)|9o xY,щD)|9K wY,щD)|9' wY,щD)|9 wY,щD)|9 wY,щD)|9 swY,щD)|9 SwY,щD)|9s 3wY,щD)|9OYw,ЉD)91HBL$DH5$vDkLDcPH81kH9STH([D]BBA\A]A^A_fslB;shLccpslLLcxSpAt7Aw1ID$fnfnHfbHL)IfHnfpffClEIM{hCl9 M`8Eh0D)C\tC\MLc8CLH(1[]A\A]A^A_DHcHL$HLD$$dX$LD$IċC\HL$EAIMMgE/D)C\tC\McA2 Lc CPH(1[]A\A]A^A_fB49LccpSlLLcxspM`8AMuutA AXnrfLD$Yt* HL$Y$D,IcHZW$HL$HLD$ItEAFIMǃTIHWLH)HSEG1HDAHH9u@t6AP9~"Hc҃A9} HAH $tWH $OAFALcHcSpHHSxHL$I|L$H)J4'8AL$HL$wI@8LI@8HC8ClSpEIMAfnfnMgfbfClfAu LcCHH(1[]A\A]A^A_ËLc0CLH(1[]A\A]A^A_fDIcHL$HL$US\L$HL$IąHIp8H‰HL$L$贂L$Ix8GVHL$L$fE1VE1nIp(LIp(HsEtMgfnfnfbfClfnfnM`fbM`Lc0MgfClIp(LH $IH $1AHH9uH~HH)HvfAv^1H  HH9uȃtPx9~=Hc9~)HÐ1fDHH9u@AWAAVIAUAATUSLHA@\IH`D'APXt EP{hSl*B49PHcCpSlHHCxspt9Aw3L@fnfnIfbLH)LfnfpffCl@IN,9IEEeE&S\tS\H[]A\A]A^A_Ðf pA*YD,DŋClShD)t9s oY,D)|9_ oY,D)<(9< oY,D)<(9 oY,D)<(9 noY,D)|9 NoY,D)|9 .oY,D)|9 oY,D)<(9g nY,D)<(9DYn,D)9&1H[]A\A]A^A_DIcH $HPQK\H $E8HtEAIII}AoHOHH)H{Uo1H@HH9u@t4J9~!HcɃ9} HcH$gQH$FfD91EIIAtZAGHcSpHSxHL$HH|HcH$H)H4~AH$HL$spSlAspSlIEIcHL$HD$OS\D$HL$EHlA DXjfHL$YlA*Y$D,IcHxO$HL$H2Au1A1fHQ8HHQ8HS8@IEN,9E)Hy(HHy(H{Et jIEfnfnfbfClHAHAHC0@HHH${I}H$f.1fDHH9uEAWAVAUATUHSHHcGTHU(Lu@HwLGL8LO0H<IAHcH] IIHH)HB1HDA  HH9uЃt6AH9~"HcɃA9~ HAD$L,>LMcA}ILzEmA>LAMcMLzAHcUpfHnfInLeHflHUxHE0LH))Ul)щMpH[]A\A]A^A_1@AHH9uYAWIAVIAUMATUSHcHHHLIHt-M'#{{I{IEH[]A\A]A^A_fH|$Lx1HxH5gH|$uH|$KfATHUHLIHtHL]A\HLx1HH=xH5Eg HqKHL]A\AUL,ATUSHLHKIHt(Ht L1LHL[]A\A]DHLw1HHwH5fyHJff.@ǍAWIcAAVIAUATUH,SHH8H|$ HLL$DD$ HD$JLL$LT$ HIt$ LL$ LT$fHD$1LHHJLT$LL$ HHHD$L$ HLL$ LT$HHN1~LL$ LT$IcLL$ HLT$.JLT$LL$ HI3ED1LLL$ HLT$$AGLT$LL$ DfnL$ LHfpLfHH9uDAt(|$ HcȍPAHL[]A\A]A^A_>@H|$L|j1^HjH5~XH|$=H|$<(fDH|$LH$,HWSH$DWH$@WAVH|$PLL$pLH=K Hc$lH0L\$LT$1IcHT\HH9uD$4L$9D$,gH\$XH$H؋\$ H$9\$hL$HT$xHt$p|$hLT$`H$\$(Dd$McfEDL(ݹ%aTAET/(_GE9DD(E9DH9.IcZA YH.Zo/fEx+HcA H.z/tT/d@HcHIc H|$ЉH|$J D9LIʋ8A A:EHcD$HcH\$LcLIEE1HH)HD LA9uf BD)*HD$X@@DC^ D9DD)׃vJH\$ȉIcHD$(HH1fDYHH9uA9tBHcIYP9}(Hc҃IY9~HIY[1]A\A]A^A_EA9McfDL(%&RfDAT/(_GE9D(H9.{#ZYfZfDu9~HcEHD$DC[E]A\A]A^A_fDEEdT/HL$DHc @tDffAWLcAVAAUMATUSHD$@H8HPLHH|$HxHT$HP H@(HT$HD$CD$GAM|HGHD$f.IM9IcA|HH tMcE9\ tD;\$tLd$8HD$I̋lA9,$|HȍUHD$9Lc)LT$NHl$LT$LT$I,LT$II9cE92uLT$C9LD$LD$Ld$LL$(fLcD`JHc+<D9|LcN McBIcMFHHL)MDIcAY HH\9ID9@H<3Ht$HT$8IcL\$`Ht$MVLH-H5O+H|$WH=*LL$8LT$0L\$(UD$pHL$`Ht$h_H=+HT$TDRHUHT$lRt$0t$0LT$PL\$HLL$XMLT$8LLL$@`$Hc$H0LT$LL$DT$8~=IVHH41f.HcH\DDHH9uANID9wfnf.AW(AVAUATUSHH8LfIl$߀NtHH.H5+1WH f.Hl$0L>DE1(LH1DL$L$T$T$L$fDL$IIcIcI4H1f.H9uIcIc1HIYH9uD11)f.fH1H2ffH* $H*D$^]2HXf.fAUfnATAULSHHfn$H$XLL$fn$PGfbffnfbfG HCHt-H$@fHnD D$HP@H[]A\A]fLl$L\=3H0-H5)LiL HCff.AUfnATAULSHHfn$H$XLL$fn$PGfbffnfbfG HCHt-H$@fHnD D$HP@H[]A\A]fLl$L<HH`,H5(L虹L HCff.HLWLNHGLcGFHG HF AA IJIqBHyHAH)HE1H  HH9uЃt3x9~ Hc9~ HIJIqHyHH)H&E1HfoHH9uЃt+DDx9~HcDD9~HEIRIIHrHH)HvhAvbAx1HoHH9utSHc<HcB,?HcAAHT$HD$t$|$D9L$L[]A\A]A^A_f1fDHL9uAWAVIAUAATULSHcfnHfn$p$LL$fn$xL$`GfbffnfbfG 8IFHtVfHnD(AD$@~$PP$X@fIn$h@(H[]A\A]A^A_fDL|$LT7Hx'H5#LaLIFrAWAVIAUMATUHcSHcH(HD$pL|$`LL$|$Ld$hHD$費DT$IDb6{I$V6HL$HG7LL$HMAELMTHcF;}IcTH9HI9uHD$H0~'1fDADDHH9u~VMAE1f.Ic@A;}/M$MIcTAHHHc2E AA9AID9uH([]A\A]A^A_HD$H0^AW1AVAUATIHH=(USHAL$A4$1AT$H=(҈I\$1El$At$ H=(Hc DHk諈H=(1蝈HCIcHT$L$~8E1L5'fLBZDXHCIF9< H='1Aw8L@fnfnIfbLH)LfnfpffClfIN4)IFA.A/S\tS\H([]A\A]A^A_fAA)DA<ED9f *Y,AA)DA<D9R Y,AA)DA<D9+ Y,AA)DA<D9 wY,AA)DA<D9 TY,AA)DA<D9 1Y,AA)DA<D9 Y,AA)DA<D9h Y,AA)DA<D9A ȞY,AA)DA<D9Y,AA)DDD91H([]A\A]A^A_fDHcHL$HHT$S\HL$HT$E, A HDXfHL$YA*HT$YD$,HcH裀HT$D$HHL$Au18Df*Y,D9EIIAt]AEHcSpHSxHL$HH|IcH$H)H4AH$HL$SlspDAASlDcpIFfHIN4)I~A4$~Lc1IoHL9uH$eH$d@1QHQ8HHQ8HS8]@Hy(HHy(H{Et"A BfIFfnfnfbfClHAHAHC0%H<$HHD$=I~HD$aff.@AWAVAUATUHSHHcGTHU(Lu@HwLGL8HO0H<IE&HcH] E~%Ic1Hf.o  HH9uAL,>LMcA}IL葫EmA>LAMcMLuAHcUpfHnfInLeHflHUxHE0LH))Ul)щMpH[]A\A]A^A_ff.@AWIAVIAUMATUSHcHHH}IHt-M'3{I(IEH[]A\A]A^A_fH|$L1HH5ƘH|$)H|$|fATHUH-}IHtHL]A\HL&1HHMH5U)H|HL]A\AUATUHSHHHH|IHt9Ht LJ#ffHH9uHL[]A\A]IL1LHH5y(L{ff.@ Ǎf.AWAVAULcATAUSHhT$TH$H$LD$`HZLL$8DŽ$(L$H$HDŽ$,H$HXH$HXH\$pHXH$HX H@(H\$@HD$H999*9Hcؿ9Alj$9DB;$EHcHMDd$THH$INIHcЉD$$HHLT$0IITH)HcH$HH$HD$xHD$pHH$fDH$HcH<HÉD$H|$XH$HcH$HcH$)ÉD$PHH4HHH\$(HȃHt$6+0\$,$0)މ$48HL$$D$9$ ;$ Dl$T$A9H\$pHL\$hAHLt$@L|$ H<H$H$H|HDH$HD$XH$H$H$IHcD$H$HH\$`H$HD$8I@E $AT$HD$HfH|$D)ʍr$8 8Ƌ$0*XELAELf*XEPEPH$T$,L\$LcH$ELcD$(IIIAA`IA AYD)HcHLpH$)HcHc6HHHDnItL>DFt$fD(fE(DYEYEYYE\DZAXA\\:fD(fD(DYfD(DYEYYYYE\fE(DYEYXE\AXEXXA\\AA`A AYD9/AfD(f(HcA)HfA(fH$I<fffDfAfI 3H$LH$f@HcHHfHfHHfHfYffHfYfAYfD(f(f fE(fD(ffD\fAXffE(fYffYAfD(f fD\fAXffYAfXfA(f\fAXfXf f\ I92AH\$0L|$ Ld$hD;,$L|$ L\$hDEHD$HD$HD$(HD$hH$HD$pLT$0HHD$ DD$($H\$hl$T9D$(O)9Olj$<D$,ЉD$$9iLt$8L$Ld$XH\$`L$MfDLMMM;,$ A$tߋT$)ƒ$8~~=ʏf+D$PLT$$0L\$H$<D$)$@H$@H$8)$PHHH$4HWAUH$hWH$HWAVH|$pLH=DL$` $lH0L\$LT$HHL$ LfLfDHcf2HHHHff\JH9uf$4H\$xH\$ 9t$(=H\$XH$H؋$H$9\$TL$LT$8fHt$`|$TLt$0l$Dd$PD$$LMM9thAt)J$8~D)HL$pHDMLHH LHcoHHH@I9uLMM9uH$H$H9$Hh[]A\A]A^A_$D+L$PML$FHD$pMcLJMf.HcHIHo<AxI9uDAA9 H$(H$8IcRHH5HщAWMH=L$@. D$DY^ f(f(|$YYYY\X\\f(fA8D9ASf(fD(Hc)fDfHHHH$fHLI|f.f@HcHHfHfHfHf(ffHfAYf(ffYfYffYf(f(f\fXf(f\fXf fXf\ H9sH$|$(HcHHXD$,|$HD$9Hcf()HfHHH$fHLItfHcHHfHf(fBHfYffYf(f\fXff\H9u*<$9|$TH\$pHLT$XL$HL$L\$ H<ML$LT$@H|$hH|HDH$HcD$H$H$HH\$`HD$XD$TADEAD$fH|$HHt$D)Hщ$847$0*‹$4AXFLAFLf*AXFPAFPHD$hT$,LcD$(IIAA`DlH$AHt$DLc)6HcIHILA AYpH$)HcHc HHHD iILL9DAL$fD(fE(DYEYEYYE\DZAXA\\:fD(fD(DYfD(DYEYYYYE\fE(DYEYXE\AXEXXA\\AA`A AY9,McfD(I)If(fA(H$ffK<*fDffHHL$XfAH$H4@f@HcHHfHfHIfHfYffHfYfAYfD(f(fAfE(fD(ffD\fAXffE(fYffYAfD(fAfD\fAXffYAfXfA(f\fAXfXf f\ H90AH\$0L|$ D;$L$L\$ ffD$D+D$PDHcщ$HL$pHL$HL$8H$HL L@HcHHHoYI9uAL$0D$L$8HyLAH$(A0H$H5$HWHH=t$@ML$L$H|$HfHc$H~-TH$D)$`H$PHH$H)$PHH$IZHH$4RAQH$hRL$H|$`WL$H=׀L$ML$U$hH0L$D$~BNfHHL$8fDIc$o}HIHH<EH9u$$4Hc$H|$pHfH H$H4HcfHHHHff\JH9uf(f(|$YYYY\X\\f(fA89PVMcf(Ht$X)fD(fLLHfDfHLI|f@HcHHfHfHfHf(ffHfAYf(ffYfYffYf(f(f\fXf(f\fXf fXf\ H9s~HD$h|$(HcHHXD$,|$D,0HD$9DIcf()HfHHHL$XfHLItDfHcHHfHf(fBHfYffYf(f\fXff\H9uH$`L=1HׅH5D$H$sH$gD$&HcHcD$H$f.AWMAVAUATUSHT$HQH$LD$p|$HJLjLL$Љt$HL$HJHL$HJ HcH<AH|$H8H|$HxH|$HxH@H|$HD$94LcHD$JH$HD$HD$Dd$Dt$EBHD$0Hc9LEIKDHL$HcH\$`HcHL$LHcL A99}A1HL$1H9~fH\$IIHcCoD H\$HHH)D$H;I8Hfo$B>9uDt$fL$HT$pH$LD+l$4D*HD$PX@@}A9*t$4HL$hHcH|$@t$HHHHHHHI9H$H9 $1$ffHffDfDfTf(f(fYfYfYfYf\fXf(ffLH H9u9tIf($Hf($HHD$(ffffYffYf(f\fX1Hĸ[]A\A]A^A_fLcd$T$LHH|$(~fT$f.f/HD$dQD;|$}HD$8HcD$0HD$ L$0HD$$\YLcT$LHH|$(v}fT$f.z f/f/‰\$ff/@HD$HD$ Hcf.D$+D$4H\$(HD$xHH$HDf.f($fBHf($ffYfffYf(f\fXH9uMD$4Xl$f.@AWLcAVAAUMATUSHD$@H8HPLHH|$HxHT$HP H@(HT$HD$CD$GAM|HGHD$f.IM9IcA|HH tMcE9\ tD;\$tLd$8HD$I̋lA9,$|HȍUHD$9Lc)LT$NHl$LT$LT$I,LT$II9cE92uLT$C9LD$LD$Ld$LL$(fLcD`JHc+<D9|LcN McBHc2HHpHH~f(fD(YDYYYA\X\\)aI9uHHI9RA~iABfHcT$HL$lAH5[HH=X[MH]*HD$\XT$0PHD$HHPLL$0XZT$01IFL9I5fAWf(AVAUATUSH(LVAIjAANtXBDLI踸HCB D9H= X1蛸HCHL$~+1L5WfHCLHc41HjHCB9, 1H=WREx(1L%W@HCLHc41H*A9} HLH8H[]A\A]A^A_ff.AW1L=WAVAUATUSHHH=UWHXǷKS13H=V豷HCSs HxHcHD$HD@L`T$DH|$ Hx(H|$HHx0H|$0Hx 1H|$8H=cT^H=VCHD$(fDHL$0H|$(LL$@9HL$8LcMJHHlHD$HNjEH|$HL$H|$HQHL$Hc 9}[HD$ LcL$C4AL$LA$II蘶ED9Ѓ9\$@tHD$HD$M@HD$(H|$(9"H=U11Jt$DH-Ux&Dd$DLl$IEHHc41HA9}H=yU1E1H|$HcD$DHUHW H,I ~%DIEHJc41IµIE D9$(H=xU11訵T$DH-]UDd$DLl$IE HHc41HrA9}H=>U1_D$D~4D$DH\$HH-;ULd3H1H(L9u1H=U1HD$Ll$0H-TxI|&fAtH1HݴCA9D$} HH8HX[]A\A]A^A_<H=}T1螴vfAW1IAVAUATUSHH^HH=hTD3gAOAW1A7H=SNHCAWDAw H=DTHD$1,H=KT1AW~pC6E1E1D$H-gSAG ~9HL$Ic1L4f.AHHɳAG 9߿ ADl$E9g HͯH8H[]A\A]A^A_ff.@AWAVAUATUHH=SSHXIMx@MhM`T$DHD$I@HL$8Mp8HD$ I@ HD$HI@(HD$I@0HD$(1 HcHL$8HHD$0H=PITLcI1 HT$T$DβH=RCHKL- SI,HL$8HL$(LcLHH;E}*fC4KLIHnD9}H=R茼HD$HT$HL$ H|$HcH\$0HcDH9H<0HCH9*H9H48HCH9H9H<HBH9H9H48HCH9H9H<0HCH9H9H48HBH9HLJ<L9HCH9H9H>HBH9I9IICH9HigfffAH!D)HH9H HCH9[HLFLfuxf1ff.fHHt;HHLJf(NH)1HH.HBff.AWAVAUATUSHHH$|$ LD$`H$fH$I@@ @0@@HFNCHC HH"H|$'DT$ EA"HcLM A1t$ AD$$H_ff.EDD$kH۸HKHEH9r%HAIH9HHCHH9v1H$@ HPD$$HH[]A\A]A^A_C \$ D$$XH$H$D$$@ HD$CD$$C D$$C D$$xC D$$paH$D$$@ pBHcL$ HIHHAHDH9H<1H9L8HCI9I9I<LBL9H9L8HCI9L9J<LCL9H9L8HCL9L9J<LCL9H9L8HCI9pL9J<LCI9\H9L8HCL9HL9J<LCI94H9L8HCL9 L9J<LCI9 H9L8HCL9L9J<IBH9HHcIH<H9H9H;HCH9L9J IBH9L9J<IBH9Hc¹H=HGH9vsD)D)Hc‰$M4LM,E+foJH|$L1HBHH9t|42D)ByH$H$@ HBC L$Hf(BJLD$kH$HHX*)$H$rH$L$ @t)IE1H@9T$ E[LL$H$M^E1H|$EºJcI JcDM L9r~f.D9@ t.@DP I9vaH׋Qx29T$ ~,HcHL9̃FF DVVD9@ uA+H$\$ @ DPPXIIE9LLL$A1|$ AuAuAE ~+|$ LWHLH@HHH9uH$x LD$1E/IcAI IcTIE H9wAID9L$ u$|$ uA1m|$ MfEL$DL$f/DL$@6 MfD$ f/xw>D9 ff(*f.9 QZAYf/ t$H[HHRILHH0H)DMHȋpu P HI9u HI9t@HcxHcA9~ILq L9sHcHHAlI9wDT$ t$\E t$ IE11t9LH9L$ ~D9~@D$ |$X)|$$ H[D\$\HLPMLD$H@HI)MIcxoIIcA1HLL9 HcHHHLh x>@LA9ANHI9wIcIHH)H AAAI IM9uH|$D\$\H|$tIH[T$@ID(x*HcH H\$H4Hc@Ht H IATHuċD$D$`D)D$pD$ t+\$ IE SHITDExHH9u\$\ D$\$ D$DD$tHD@D$@IH$CH$IDH$AD$D$PLEIHcT$DHD$HHHc H\$L$DHTD;|$D HPA9/HHctL$DHRHIHcSH\$Ht HRADH\$HD$@D[S C DD)ÉD$@9Ӊ؋\$`O‰\$T9$H\$HD؉CHcIu~ HcIcAfAnH@fAnfbfAD~ t؉~ T$ YHT$8FHIH`HTfA*f.QF4Yf/Af(DL$8L$0T$(kL$0T$(DL$8Y3f/Mf(DL$0L$(+L$(DL$0Y,tff(A*9f(L$0T$(L$0T$(Y|3f/:Mf(L$(L$(YD,EtZLL$1IcAI IcDIB,))9#Lt$Dd$xL$L$9$1MLDDOtAHĸD[]A\A]A^A_@A)G\IcM,1IcLHAHI9uAL$D\$|L$LH5B,l$HKl$HcH$UAVH|$ LH=L$LT$8ΖHc$H ?H$HDŽ$H$HD$(H$_M$HH$RATH$RUAVH|$@LT$XL$LH=L衔$H0D\$|~1Hc1AIcTIHH9uAHc$Mc1K4HcHA\IHH9u@Y\AD9qHH|$HcHHHH IHIfLADIcHYYHX\A9 DLc\$(A $Kc4ADT$9H|$HMcI)J4f. IcHYH\9fDH$Lt$H@ A>HD$H$L`HD$9~BHt$HcIcH)LfDIcHAHH9B4))AHD$@H\$hDlD$;$L$E19D$xH|$@HcЉ+l$HL$(fDT$$L$H|$L$MH5z|$xA+L$)ljЉ$)W$)$)HL$X*HXAL?H|$ALf*XAPHcL,HcLAPLAVAUH|$ H=e\HH$H$MH=H$HH$$ZH$R$HH\$ HcLHRH$RLAVAU0H0DT$$QfAWMAVIAUATAUSHcHH$HT$0LL$HHD$H$HhHHLh@HHl$HL$ Ll$($辧AHL$ D$|AD$D$\AD$D$XIcHD$`HHIHD$P}EUHl$pH$Ll$h|$xL|$ IcLT$0HH\$HcHcH\$\H$HcLA9}AAWItVHcAI4A9tD&Auo9$9\$XDD$ HcAWID$ uAESHD$HL$|$\<HD$PHL$H|$`DdH$DHL$(DT1HĘ[]A\A]A^A_DDLT$8L$H$L\$0OHuH$LT$8L\$0HH+H$AHD$(,H$D,f.D9|EIcHt$H$HcAH$HcË,H$D,D9}HcŃHcIID E9tD"AtAHt$HcHcHt$TH$LcJ4DAtAD9XQDw9$~`D9L$XDD$ HcD$ %DL$LcClL$CӉHD$(B,H$F,fDL$DLT$HH$L\$@DL$8t$0FH$LT$HL\$@DL$8HHt$0DHcD$xH|$EH\$P4H,H|$(HD$hH|DA)D)ʃA9AA9H\$(VHcDH\$PDDH$D)ȉDH|$hE9)DMcIcJBHH4H)HEHt1H1E)DHoHH9uD؃A<A4D9tt_f.LH\$@Ll$XL]8LUD$LD$HH\$@LD$`L D$PD$(LT$(+D$THIIcH|$H$HcAH$HcEl,D9}HcŃIcI4HDE9tH<$D&tMH|$HcHt$Hc LH$yHcω|$(L L΋>t<9TMDA r9t$|~cD9L$HDD$ Hc։D$ L$HcAlH$\$(HD$Gl HcHL$HcA,L$HL$|DLT$@L\$8DL$0t$(|H$LT$@L\$8DL$0L@t$(DHcD$LH\$Aы4LHD$XH\$PI|+A)D9u99t$HNHcA47H|$X79^LcLcЍzJ J,)HH)HAMT(LA)DH1HAo:9HH9uEAB<B E9tCLcGLcσGDQD9~)McLcσGJ<G9~ HcA AL8)D$LH\$`HcD$LLA)D;d$lI|$ mEFHcD$LH|$H\$PIL9D$H~HAHD$XLIL(M)I|DFHH9u]ZDAWAH=AVAUATUHSHL$HL$LL$pLD$xD$ ]5&IDŽ$D$IN^HD$0IFMN8H$IFHD$8IF0HD$PIF@HD$HAFL$H$t$DEuAFT=$|$ H4$IcH<H$D$ HD$HHH$D(C7HcЉfHH|$@L$HtHTH)HHT$HcUH$HHc9D$ tH\$\$(HH9l$uHD$HH$HlH$DDm+$$t ;$m$uH$T,H$1HĨ[]A\A]A^A_f.H|$0)މt$`HcH|$8D$dD$\FD$XB(;$~oHl$h+@MLDDI^0xu9$})MLDDxt^f.Hl$hMN8H\$PINDD$XED$\T$`D$(+D$dHc$HTHH4HL$(LT$pHL$xD$L$BHc VTX  A9A HcHc H TX  D9A0L$HcH$H Hc TX  fDX$LcOAYA$.LcOA z /X$YAHD$xAH|$(LMLLLT$`l|$PLT$`$Hc$ALHLTH@H9uȃ]H|$B0HcHTyP93DHcHTR9DHHT2H$fAZYEZAL$LLHD$H$MLDL$D$Qk|$PDL$D$HD$$Hc$QHLAT IAOI9uʃB4 HcH4T Ar9rD΃HcH4T 9NDHcH T  0T$$L$H$HcMLHD$LDH$LLT$H|$D$ hH|$LT$HD$D$ D$Xf ^L$D*)^T$\+D$@Yf*^X]Z^H$DD$@H$H$HTH$DH)DD)HH9uDH9H)HIHITHH9uD$ H$H$@H$H$8I)؃$gH$@$+$$ZDD$LD$JLMcL) T HXNNH9ufD$?Dt$TD$@\$p\$HH4Ic1HHcL H)@TXHD9u;H|$H xHHTHcLH)HTX@@H9uIcMcH1H /L) TX  HD9uHL1TH9u1JH1AT AI9uD$L$`UD$L$`L14f.AWAVAUATUSHD$xLt$@L|$`T$HQ|$HJLbLD$LL$HL$HJt$HL$HJ HcHAHT$HHT$HPHT$HPH@HT$HD$9`LcD$fJLHD$fDHD$Ht$AADl$Hc;Lt$@(EIl$Hl$@Zf.HL$HcLT$XHcHL$THcLMA:9}A2H\$H9~oUAH\$(ȋ T/v MAHcH\$8I4D9.tH\$D4bHt$HH\$IcHA 9ILHD$t$IHHD$XHD$8HD$t$9l$[]A\A]A^A_fDH|$hHD$H|$A2Ht$Hc4Hc4H|$4FDDHD9|]H|$H |$L99}H|$H\$PHc7D H\$hHD$pHcʋ4HD$DDHD9}L\$Hc\$ȃIc:A6EHcT$DH4$HcECHHH)HT$1f  HD9uH|$fH4$D) y*XGDGA^ D9DD)׃߃vFHt$IcHT$0(H 1HfYHH9uA9tCHcI YJ9~)HcɃI Y9~HcIY  HĈ[]A\A]A^A_f.|$EEIcHH$H$Lz1HH5LT$pD\$xDL$8T$|t$hD$`H|$(z`H|$(DL$8D\$xD$`t$hLT$pT$|ZYAZtSIc$A |$(TVwT MX(f.9/0AxUHcՃ$A H|$(TwT X(f.z/t /s@IcIcHIcH$$1|$HcI/GX1xfDECDIc,HH$@XHcH$HcEL$H Af/H$IcHc,XT (HcIX1f.WHl$XEL$D9d$@t$@DH|$`EL$IcHtH|$PHcHH9tcHcLHE9$H$A9}$H$HcH A9H9IcIcHXT (H,H$H#1LTH5DL$xLT$8D\$(L$`H|$n]H|$԰HD$PD\$(LT$8L$`(DL$x4fAWMAVAUATIUSHcH4HXL$HL$Ht$8IIH|$MPIxHT$HD$0A@HHL$ D$LHHHLT$(00Ict$9cM< HL$LMMH $MHL$HT$HcA9LMMMIAfAMHcH9~QIc4HI4D;&tD&h9l$LH $|$L$fTL$IxLDMMIMHL$HT$ I\$HHL$929l$}yL$q9|nU))σv;HL$(HT$8fnfpHTHHHH9u9t%H|$(Hc։V9|Hc҃9HcHcT$H\$0MLHHL$ HcHIcH|$H$HcAH$HcEl,D9}HcŃIcI4HDE9tH<$D&tMH|$HcHt$Hc LH$yHcω|$(L L΋>t<9TMDA r9t$|~cD9L$HDD$ Hc։D$ L$HcAlH$\$(HD$Gl HcHL$HcA,L$HL$|DLT$@L\$8DL$0t$([ H$LT$@L\$8DL$0L@t$(DHcD$LH\$Aы4LHD$XH\$PI|+A)D9u99t$HNHcA47H|$X79^LcLcЍzJ J,)HH)HAMT(LA)DH1HAo:9HH9uEAB<B E9tCLcGLcσGDQD9~)McLcσGJ<G9~ HcA AL8)D$LH\$`HcD$LLA)D;d$lI|$ mEFHcD$LH|$H\$PIL9D$H~HAHD$XLIL(M)I|DFHH9u]ZDAWAVAUAH=aATUHSHL$8HL$0L$LL$@D$8k-I$^HD$XIFfHD$ IFH$IFHD$`IF0HD$xIF8H$IF@HD$pAFL$H$(l$huAFT=<$ |$8Ht$ IcH<H$D$HD$pHH$D8CHcЉfHH|$HH|HTH)H|$HT$(HD$HcHD$ HHc9D$tH\$0D$AHl$HD$H9D$(uHD$pH$DLdH$E<$D(D)$t 9$ r$$uH$(H@H$0(1H[]A\A]A^A_fHt$XH\$`D)ቌ$Hc$$AD$PB,8;$D$H$A6f.MHٺDDIn0cD9$}$MHٺDDt:DIF8D$Hl$xH$IFH$t$P$ D$D+$Icą=H$$L$8D$L$HDHM拜$L$(HD$PkH$f(_T$HIcomAB H$T$Hf(]T$h HD$xHT$h,0fIeL9t$PtmMc.Ht$@LHH,H"f/D$8f(rwtfEfA$fXA$uA$XA$fD$L$8$#fH$$D$L$8Hl$@L$HDD|$PD$MHL$(DEuKfIA7L9tZIcEHL|L5f(AvAuA$XA$fAfA<$fXA$f.D|$PD$$L$8>$ A_~w$~;IcH|$xL$@HL<EMtLIIyAEM9u勔$ H$@8H$D$HD(D9El$Lt$xLd$ L$AA9IcHHM$Lt$Hf/rу$w]$tH$(fA$f(fX)l$Hcl$HADHAo>A$ADHD$ (n$uH$($X맋l$fd$HH$(@H$(H@f ^L$H*$ ^D$h\-ҼYf*^X^l$Hf.DAWAAVAUATUSH H$P$D$X~uHpLp(T$t)$fLhHX Ht$hw0*@T$t$dwXLD$xt$TwHL$t$H|$0H$D$ Y@Y@\H$DD$8H$H$HTH$DHf.)DD)HH9uD$ H$H$`H$H$XID)$8H$`$D+$1D$D$w%fD$8l$`t$Hd$@d$t$x$f(Wt$f(DAWAVAUATUSHT$\HQH$$HJLD$LL$`H$HL$pHJL$HL$0HJHL$xHJ HcH<AH|$@H8H|$ HxH|$(HxH@H|$PHD$H$9HcHD$lIHD$HH$HD$f.D$lHL$ID$H49|eHL$@|$\H1L9:}H|$`L$HcAD2H$0H$HcЋ Ht$H|H49}L\$PLcOcD\$XO ME9kL\$E1GAtYL\$(McLT$ Oc GLEQMcDT$hL$N,MEAt;E9E f.Hct$HD$0Dd$$0@$fH|$PfL$`fX)$u+l$hHH\$(UHT$XHHTf($fPHf($ff(ffYffYf(f(f\fXH9u$IE1Ll$(fA}fD$`fXAED$hD`L$Ds9$$DsH$H$L$@IcHtHcHH9HcLHA9H$H9l$h}YHD$X H9~GA9uD$$$fH|$PfL$`fX)$Dd$$IcL L$1L $HL#LH5P/L|H$L $B5AWMAVAUATIUSHcH4HXL$HL$Ht$8IIH|$MPIxHT$HD$0A@HHL$ D$LHHHLT$(00Ict$9cM< HL$LMMH $MHL$HT$HcA9LMMMIAfAMHcH9~QIc4HI4D;&tD&h9l$LH $|$L$L$IxLDMMIMHL$HT$ I\$HHL$929l$}yL$q9|nU))σv;HL$(HT$8fnfpHTHHHH9u9t%H|$(Hc։V9|Hc҃9HcHcT$H\$0MLHHL$ HcHfHHT$0IcEAo$IIHAD$L9uAˋ$H|$IcHfHLHHcf}HHHHff\MH9uIL9t$(2f(f(YYYY\X\\f(f:E9H|$IcfD(ffDfH IcEzH<$E)HIHIHJ|?ff@HcHHfHfHfHf(ffHfAYf(f(ffYfYffYf(f\fXf(f\fXf fXf\ H9sIL9t$(tH|$McJcAAEDD$HHZA9Icf(McD)H H<$LLHffHHHtfDfHcHHfHfYHf(fBf(ffYf\fXff\H9uIL9t$(6DH$L<$Dl$H@ EH$H$H@HD$HD$8D9~cHt$IcMcfLH GH4$HD)LHHLD@HcHHHHo bL9uA4>D)AHD$8H\$`D;$DtDL$E19D$x H|$8HcAHt$ E)fL$DT$H|$L$L|$xDA+L$)lj$MWD)$)$D&Ht$PIcH*XFLH<$H{FLfH*XFPHcHLFPH5zAVUH|$H=ly#~M$H$H$)$~~H=yHc)$XHH$P$H\$DHLLHHPH$PAVUH0DT$AWMAVIAUATAUSHcHH$HT$0LL$HHD$H$HhHHLh@HHl$HL$ Ll$($!AHL$ D$|AD$D$\AD$D$XIcHD$`HHIHD$P}EUHl$pH$Ll$h|$xL|$ IcLT$0HH\$HcHcH\$\H$HcLA9}AAWItVHcAI4A9tD&Auo9$9\$XDD$ HcAWID$ uAESHD$HL$|$\<HD$PHL$H|$`DdH$DHL$(DT1HĘ[]A\A]A^A_DDLT$8L$H$L\$0uH$LT$8L\$0HH+H$AHD$(,H$D,f.D9|EIcHt$H$HcAH$HcË,H$D,D9}HcŃHcIID E9tD"AtAHt$HcHcHt$TH$LcJ4DAtAD9XQDw9$~`D9L$XDD$ HcD$ %DL$LcClL$CӉHD$(B,H$F,fDL$DLT$HH$L\$@DL$8t$0 H$LT$HL\$@DL$8HHt$0DHcD$xH|$EH\$P4H,H|$(HD$hH|DA)D)ʃA9AA9H\$(VHcDH\$PDDH$D)ȉDH|$hE9)DMcIcJBHH4H)HEHt1H1E)DHoHH9uD؃A<A4D9tff.ff.k:ff.ff. ff.ff.+ff.;%ff.;ff.K!ff.kff.kff.{ff.ff. ff.ff.ff.7ff.ff.k ff.ff.+ff.ff.ff.ff.ff.;ff.;ff.{3ff.ff. 3ff.{ff.[ff.k/ff.+ff.kff.ff.ff.ff.;ff.+StoreSUPERLU_MALLOC fails for X->StoreSUPERLU_MALLOC fails for L->Storenrow %d, ncol %d, nnz %lld, nsuper %d col %d: pivrow %d, supno %d, xprune %lld Factor flops = %e Mflops = %8.2f Identify relaxed snodes = %8.2f Solve flops = %.0f, Mflops = %8.2f No of nonzeros in factor L = %lld No of nonzeros in factor U = %lld No of nonzeros in L+U = %lld L\U MB %.3f total MB needed %.3f Number of memory expansions: %d Factor Mflops Solve Mflops Etree Equil Rcond RefinePERF:%8.2f%8.2f%8.2f%8.2f%8.2f%8.2f%8.2f%8.2f Rpg Rcond Ferr Berr Equil? CompCol matrix %s: Stype %d, Dtype %d, Mtype %d nrow %d, ncol %d, nnz %ld %f rowind: %ld colptr: SuperNode matrix %s: nzval: nzval_colptr: %d %d %e %e %lld rowind_colptr: col_to_sup: sup_to_col: %d Dense matrix %s: nrow %d, ncol %d, lda %d nzval: %s U-col: L-col in rectangular snode: %d%10.4f, %10.4f %d %10.4f, %10.4f tempv[%d] = {%f, %f} ccheck_tempv||X - Xtrue||/||X|| = %e NUM: %e %e %e %e %s %d %f%f ??ư>.Adgssv../scipy/sparse/linalg/_dsolve/SuperLU/SRC/dgstrs.cdgstrs %d: %.4f dLUWorkInit: malloc fails for local iworkptr[] ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/dmemory.cSUPERLU_MALLOC failed for buf in doubleMalloc() SUPERLU_MALLOC failed for buf in doubleCalloc() ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/dpanel_bmod.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/dsnode_bmod.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/dsp_blas2.cMalloc fails for work in sp_dtrsv().sp_dtrsvsp_dgemv ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/dutil.c%d %d %e %d%10.4f %d %10.4f tempv[%d] = %f dcheck_tempv%d %f ??../scipy/sparse/linalg/_dsolve/SuperLU/SRC/get_perm_c.cSUPERLU_MALLOC fails for marker[]SUPERLU_MALLOC fails for t_rowind[]SUPERLU_MALLOC fails for ata_colptr[]SUPERLU_MALLOC fails for ata_rowind[]SUPERLU_MALLOC fails for t_colptr[]SUPERLU_MALLOC fails t_rowind[]SUPERLU_MALLOC fails for b_colptr[]SUPERLU_MALLOC fails for b_rowind[]SUPERLU_MALLOC fails for invp.SUPERLU_MALLOC fails for dhead.SUPERLU_MALLOC fails for qsize.SUPERLU_MALLOC fails for llist.SUPERLU_MALLOC fails for marker.Malloc fails for A[]Malloc fails for p[]COLAMD failedSUPERLU_MALLOC t_colptr[]Matrix is not squareInvalid ISPEC../scipy/sparse/linalg/_dsolve/SuperLU/SRC/heap_relax_snode.cSUPERLU_MALLOC fails for iwork[]Safe minimum0C../scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_cpivotL.c[0]: matrix is singular[1]: matrix is singular../scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_dpivotL.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_heap_relax_snode.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/memory.cSUPERLU_MALLOC fails for buf in intMalloc()SUPERLU_MALLOC fails for buf in int32Malloc()SUPERLU_MALLOC fails for buf in intCalloc()z_div.c: division by zero sgssv../scipy/sparse/linalg/_dsolve/SuperLU/SRC/sgstrs.csgstrssmach3@4ACsLUWorkInit: malloc fails for local iworkptr[] ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/smemory.cSUPERLU_MALLOC failed for buf in floatMalloc() SUPERLU_MALLOC failed for buf in floatCalloc() ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/sp_coletree.cSUPERLU_MALLOC fails for buf in mxCallocInt()sp_ienv d ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/sp_preorder.cSUPERLU_MALLOC fails for ACstoreSUPERLU_MALLOC fails for ACstore->colbegSUPERLU_MALLOC fails for ACstore->colend../scipy/sparse/linalg/_dsolve/SuperLU/SRC/spanel_bmod.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/ssnode_bmod.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/ssp_blas2.cMalloc fails for work in sp_strsv().sp_strsvsp_sgemv ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/sutil.cscheck_tempv????.. options: Fact %8d Equil %8d ColPerm %8d DiagPivotThresh %8.4f Trans %8d IterRefine %4d SymmetricMode %4d PivotGrowth %4d ConditionNumber %4d .... ILU options: DiagPivotThresh %6.2e tau %6.2e gamma %6.2f DropRule %0x MILU %d MILU_ALPHA %6.2e DiagFillTol %6.2e col %d: Factor time = %8.5f Solve time = %8.4f max supernode size = %d snode: %d-%d %d col %d, repfnz_col[%d] = %d check_repfnz%6d error messages recorded %d %d %10s: [%2d-%2d]%6dcheck_permcheck_perm: %s: n %d seg %d, segrep %d, repfnz %d ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/util.cSUPERLU_MALLOC fails for stat->utimeSUPERLU_MALLOC fails for stat->opsSolve flops = %e Mflops = %8.2f Supernode statistics: no of super = %d no of size 1 supernodes = %d Histogram of supernode sizes:%3s driver: %d out of %d tests failed to pass the threshold All tests for %3s driver passed the threshold (%6d tests run) %s: Not a valid PERM[%d] = %d -C6?$@?{Gz? A:zgssv../scipy/sparse/linalg/_dsolve/SuperLU/SRC/zgstrs.czgstrszLUWorkInit: malloc fails for local iworkptr[] ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/zmemory.cSUPERLU_MALLOC failed for buf in doublecomplexMalloc() SUPERLU_MALLOC failed for buf in doublecomplexCalloc() 0@../scipy/sparse/linalg/_dsolve/SuperLU/SRC/zpanel_bmod.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/zsnode_bmod.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/zsp_blas2.cMalloc fails for work in sp_ztrsv().sp_ztrsvsp_zgemv ../scipy/sparse/linalg/_dsolve/SuperLU/SRC/zutil.czcheck_tempvOct 10, 2014colamd %s version %d.%d, %s: No statistics available.OK. ERROR. Invalid number of rows (%d). Array A too small.Out of memory.symamdMatrix has unsorted or duplicate row indices.%s: number of duplicate or out-of-order row indices: %d %s: last seen duplicate or out-of-order row index: %d %s: last seen in column: %d%s: number of dense or empty rows ignored: %d %s: number of dense or empty columns ignored: %d %s: number of garbage collections performed: %d Array A (row indices of matrix) not present.Array p (column pointers for matrix) not present.Invalid number of columns (%d). Invalid number of nonzero entries (%d). Invalid column pointer, p [0] = %d, must be zero. Need Alen >= %d, but given only Alen = %d. Column %d has a negative number of nonzero entries (%d). Row index (row %d) out of bounds (%d to %d) in column %d. < 4Tt\LDdl$@$@dmach<@<J@@../scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_spivotL.c../scipy/sparse/linalg/_dsolve/SuperLU/SRC/ilu_zpivotL.c;>TC>B CԮ>Զ?Ըp@PAlA4ATAtAA$ BDBtB4BCtPCDCTCdCtDT`DxDD4DD4E$EE\FdF$GG H$H$ID\JtJJKhKTLMd'O*LP6QBRdCRG@S$HTStHhSH|SISJSL8TdTdT$eUkUlU$q,VrtVrV$sVs(WsTGGADGGGGbLDGG`FGGGGLe`PBJhXGhB\B_ASOPAEBBCDDDiFBBD`4D BBB E(A0A8G 8A0A(B BBBA Qo`[p^JIMIgdfBOOJSSLDIBJJS[Ne`[< 8aFID D(F0s(A ABBJHLhBBE E(A0A8G` 8D0A(B BBBF /K(BDI AB(BDI AB`,BBJ E(D0A8FP 8A0A(B BBBD U 8C0A(B BBBG LBBBB B(D0H8J 8A0A(B BBBK HBEE E(D0H8DPn 8A0A(B BBBG (,RAAG j AAK XBBE B(A0A8Gp 8C0A(B BBBI + 8C0A(B BBBI O 8C0A(B BBBE  8D0E(B EBFM } 8C0A(B BBBG "d8BEE E(A0A8G` 8A0A(B BBBC  8A0A(B BBBG DBBB B(A0D8D@8A0A(B BBBHBEE E(A0A8Sm 8A0A(B BBBC 0mBEGT DBH vDB0L(BAA NU  DABB  BBB J(D0C8GnXFJJAnT 8A0A(B BBBE _JWAIXPBIJBXD<09BEB B(A0A8 0A(B BBBF L3BEE B(A0A8IG 8A0A(B BBBF D8(BEE E(A0A8 0A(B BBBD t:.BML M(A0A8G7ExTMFBBNG 8C0A(B BBBG dp<BEE B(D0A8D 8A0A(B BBBA  8C0A(B BBBA ?BEE E(A0A8Jk 8C0A(B BBBA zH[JQAcA#OWBEPBKgUDIGDjEKAHMe BMN N(H0A8K 8C0A(B BBBD 8WBFD D(Jm (A ABBC 8PDXBFD D(Jm (A ABBC XAV I ` H 8dZBKD D(JI (A ABBB Z[OJAH[BBE E(A0D8N 8A0A(B BBBG HT[lBBE B(D0F8G`( 8A0A(B BBBE H\zBDB B(N0A8DPN8A0A(B BBBL(^gBKB B(A0A8Q! 8A0A(B BBBE D<HaBGB B(A0A8DP8A0A(B BBBH bBBB B(N0A8D8A0A(B BBB<cJIA D(I(A ABBK0DdXNL ] ABA D Dd\D t(I0H8I@Ihd%L|eBBB B(A0A8D 8A0A(B BBBI HhfBFB E(A0D8Gp 8F0A(B BBBI 8 hqBDN G(D0I(C ABBT hBEB B(D0D8GIBGGHxM 8A0A(B BBBG GCIIIIoDhAGGB@BrBM\AEiBEDGwFGGGGGGBGpGBGGwMBLIAHHmIVBEIGpvGGGLp[YBGpGGBEBBCDDDiFBBD`L"JBBB B(A0A8GL 8A0A(B BBBI bGIDDDBBQ~GaA~DBFI"Ї BBB E(D0A8OIBGGH|M 8A0A(B BBBE G~IIIIsAhBoJfBz4TGGADGGGGbLDGG`FGGGGLe`PBJhXGhB\B_ASOPAEBBCDDDiFBBD`t$ BBB B(A0A8G~ 8A0A(B BBBA 'QgGv^JIMIaBXPSULVLIBIBJD^a88%XJBBB B(A0A8GJ 8A0A(B BBBK _GIDDDBBQGaA~DBFI? BBE E(A0A8OIAGGE|M 8A0A(B BBBD H~IIIImAhBfJfAz6SGGAEGGGGbMCGG`EGGGGLe`QAJhXGhB]A_ALQKAEBBCCCCiFBBC`@@aBBB B(A0A8G~ 8A0A(B BBBA QgGvWKITIaBcBOVJVVIBIBJJZ^8hAQFID D(F0i(A ABBDA adAPBEE B(A0A8GP 8A0A(B BBBK H 8A0A(B BBBF $B/8BKLB(`BBDI AB(BBDI AB`BBBJ E(D0A8FP 8A0A(B BBBD U 8C0A(B BBBG LCxBBB E(I0D8G 8A0A(B BBBB HlCBEE E(D0H8DPn 8A0A(B BBBG (CAO>AOL?  PH?5Ao(Pl?5AoDP?\AV`P?(Ab|P?AUP?$P@wPt@w,P@BAD  ABA DQpABDB B(A0A8DP8A0A(B BBB(LQAuAAO AAA ,xQ,CBFA m CBE QCAYQC QC QCu8RTDBBA C(Dp| (A ABBB BBB B(A0A8D`8C0A(B BBBLj>BEE B(D0A8S 8A0A(B BBBD L$k0DBLB B(A0D8I 8A0A(B BBBK LtkIBBE B(A0C8G  8A0A(B BBBE Dk^BBB B(A0A8 0A(B BBBG L lha^BIB B(D0D8G} 8A0A(B BBBK L\lxh#BEB B(D0C8Q8A0A(B BBBLlXjBEE B(D0A8S 8A0A(B BBBD Llo1BBB L(A0D8I 8A0A(B BBBJ LLmvBEB B(A0C8G 8A0A(B BBBJ Lm(BBB B(A0A8K, 8A0A(B BBBE LmȊi BEE B(A0A8Jh 8D0A(B BBBA L!?7*X*x*+P+  + x +&h/38HA5I@HRh\lHu`}@C DnD.D6EEG1ILPO0RT`Z,_q&: [ E{I T  aks|0 P-7%EQY6fx!2I[hn;xP nhy ".>FPXajtj|*".@Tdu2D $0xG 8I]9Y- U;v/7yh8` jA@\p8oy';6L2@k K(/`v&n\ 0Pp+ ;7p/p,U;!"oL<BM`G_% 4SD08@n8 "p-6)V?,#w$Tn<K;>$P=90@s.@_R`=q.$O<:p 6P9 !DK.#XiAf0A@B 3|sP.n1A 'I!a7P+?J%/n?$l`4]]p5e 37@87+HNbXo6 u&0Gm:p<9p4T@4wu`>G0 Q/,@Jo;_p@`|# `>6!Jo0 p-Y2q)QG8L0'%p%< ;  HY$@Gg&TL <vP lP('<m#PHyvz(2@' d0 r.0@`%Z'ZR%3<0/0 `aF090U$e*</Hj07 4lUg0sm-CI :kvBg& s+f *8%@%VB)_K9HK K$@kPW P=K0/f9`dXPA-c(i@*%PKKp#Dh`n Pz |p) v V#&P?jPa0& LT0Jp* `s;3t@#0P5 %3! p]t%9WpDI4J 06C @o11\``  ~L@CpQ0*a9 Z`.66 8e k@8&@1N  { 1P2# Pp92T`E_P/ =W : )Tw9p ; X%AJ  @cHP4?E:7 Z G\i-KFPf 0f ( (`,@;ji0^.F00lrQhP, * 4`A,I@()@Y8$m  py <hP>`Z!@AtF@' c#=+;`?U/`P%?PF'' KO](m  #1?b =0D 6rCrp<L;c4i`?r*05  t`@ pRiEi5!w9B(2pI@ A@.y5 r-e? PQu)  @Bj[`RTph >,] I@IoB BSA scu04 pKK3 ;% i`0KBJ`.= HZ6pFpPM pD ca Fc;>ET V`a P`1!Ej  <*P1ssF  ~q^._:+4E-\@H4? 9J\PJqP$ P+0>2!s\2b + (P3uV CHtp  bC.0Hc`7Ic`f`KLPGDX WS .+@3=5 4 e .m87+"  X P-4P Q`B`m&HpnD`Aa- SV j@]PlA2CO@ DPT l0Lw;U"$_. 833A/N0)f`@U>: L@"Pr@!a( Zc( /P5tFHp1 p_P4? g`i/`0!v 3' "$b*Nk>=I@ E14> XLL DT >2^ KOm= Ek 0l .p? SP()?fh2 b?N`+<J]Pk-8+`5+:@z_0 P>@5\ @/nPIE @J9O%#`HxCP~)!|,h9w @/ `p "- s$  dNs s2`25Oa  (V 0.H*`k`3 CpCYK 0>@p!S+P =A+BcB#PXl4uGp% Dq=1f0/# '] `gJ?@1<P NA@L@8KP?e1 e:R`&6"0YPClMr: ptLP2<pu2H0< 0@Ny<L\Cxj c.Wm^0q0@l_#~7l.skX 0(2`@JHgK@f`N//V ;>64<^52dY.3@0Q d*+3> %0Pfl@OtFPl`fR0" 5` X.04e@0<DQp(;Gp#F wZ@P-_ a)==  <`HPBKT`WcKY:a>  m$>!=$BKQ$p)?W &qa+ \]<L_ ! CX@@6hP' jP5=0cPh$j 0gF@4M Jl0NpTomn;#s*`vpol[fA;*%iN`CzqA_8)@^F%XPoVpj`'xB Sp0Qj`rUE#rC?Fm@PQU8}nP;+o i@,m+D4*/02$@J7AD" ,x3`LR@"@Pb%BJ@,f32A mp3b@& p.R@'_Ylyt HtP7mgPXGP-Bg8@ P"0O@cE i@<rm@/p`V2+Y 50i =F\P,gPK5\S7qk]`:]v+r!p#@>Sk4 9![-<2-,:HB<SL$,=D@I00r$05#FWU7I `m <WIA n'p:9m Ax^ @PPKKP-n2k0 $;{0m`!'5!NPL?{O D(K=)P](GiWZ@p.vPog@P rODFn)c30:q q -1`VPK\<[2FS*M:P)e@@d'`o2EVo77h!'t-.s&+ @0om)P*bS_>J0%d4tR,?@ 0!h`6v@2,w0t6P&5e\09'D/# ]Gn .p@`8X ?[0JOUZtZ3K,U[Na`k0pLF<&GH0?_OKqcw@xJ+X-&M @klK",pK21J-S ,gp",62i`@=LuV@EW? !p@- #1F).9 jC<DpD2p}6z[@an*C@@ie aC!Ikk01{o`mO6BGI4oIUL\`"@&(`c`"YpYRPBkjJQ@"'@HhA31kv0[bhpP YX p2JpB^r A3ZY=+>uPP a`l(pj@0o\^Hz1) omWp)Q0p4Tykf>epK=0+ -/eG&17#):p57:M3XY$D`/~'@*3E>[r AtPiZ LT0((@?:9gp&T%Cn"#\ApqHFNC "iPIu&lDAVp1 K*L@ /F@ .[`;,;$P'Cp REEG;pg-I5`D=P#L^(TpN!5`8N\EF g& V7a@9pu qBEpBCI_D5` 2>Q~ qp%" )Cy"K]2`q20C.&n0 !h $`.>p+) FHO@7]3Qv20bP0 c8AsY%l0A;7yJ` 6`l@[)I-D`u=*0WP&7H0pEm0 QpB#+P#i0+'p<L-."%A:0jI]5]/P : t"-0wN>,CZ$@DmJ 8@ HB6!c*@? Cd1:pa`F^psp7pA]J("R@#~%UMD@@P7s@;'jpF=` e0 'dp$6p rp?\:bP'SOAQOpI(W0Spc#u .zrP0- ;JG`{pcZqXp6v'KpL3L6 [Z5.@ 0RFk<p@t!PEQqDc680 %dp*V*@ K:.=;K&? i0#0E8`ZD>`4G!@@Y)% 00Cj`#vt0Jp%P.W/@Q bp$a`BB@J`&=X`C* ^pg(A< =R"#7Bp>0O~1 }Q1 3]@s $DPUX'MfWsJaDQ%T9XF '$e 0MN&D`-09z5/5u8_I`~e"$CPe C0(l9`m44EQh"$Ua5j"`0;JW=051D(EE K.l, >-LHD':;v1V@G&G==0O@3[<@ g0$I 7:BG=@)pAA)2bp*)`3m  l?jKH@6U ?60I@qec`/u@hppF7 $op=p" J?tJ- UpH;@3 : _.X6QIP X0Y&1=F Q-*rW\H 0-U@a vG@<@0.9<f\ZP,.H`E? Ce~4C1;;KGw;8n pKNPJ fjP:l1&NZ.6'9esP6  `q*0. xi`PXJ{:06x ].t0j>+#p}PP=S%GG@Mp@A*pWRQe -BaVBnHKiW0fW4 g0=&-k 2CK2C<0$>0NP 4^Pr0Du}g+up8@>)>@+%],1H+P1@LwpjHM*Ish[=u%)J56`)29Pw')nB?\ ?%2&g9kJGL9U@ w/"28C#u v-;7@F7JI WS0MP%O<YpG`%PM/pe-,/3R/`*Y^^ #3Ep2zE*,o0M]j0K{I`Aqa ;\0>A 1Su?h`<71^7#J`J,p >%99'5Z#``g@9P-EPJ00fl0Hs IXH.0Bmxa<Jmu7g &4CQ`r )7DQ_m{,:HVcp~ao"/=KYft (6DXes )7ER`n| (6DR`lz   , : H V d r          !!"!0!>!L![!n!|!!!!!!!!!!""""0">"L"Z"h"v""""""""""###/#=#K#Y#g#v##########$$$*$8$E$S$b$q$~$$$$ $%K$$$$%%$%2%@%N%\%j%x%%%%%%%%%% &&(&6&E&S&a&o&}&&&&&&&&&& ''%'3'A'P'^'k'x''''''''''(( (.(<(J(X(f(t(((((((((( ))$)2)@)M)[)j)x)))))))))) **'*5*B*P*^*l*z**********++#+1+?+M+[+i+w++++++++++,,,*,8,E,S,b,v,,,,,,,,,,,--*-8-F-S-a-p-~---------- ..'.A.O.].k.y..........///-/;/H/V/c/p/~////////// 00(060D0R0`0n0|000000000011 1/1=1K1Y1f1t1111111111222*282F2T2b2p2}2222222222333-3;3I3W3e3r33333333333 44'454C4Q4^4l4x444444444455 5.5<5J5X5f5t55555555 55 66(686F6T6b6n6|666666666677$727@7M7[7i7x777777777788(878E8S8a8o8}888888888899(969D9R9`9n9|9999999999::#:1:?:L:Y:g:u::: ::::::: ;;&;4;B;O;];k;y;;;;;;;;;<<<-<;<I<W<e<s<<<<<<<<<<< ==(=7=E=S=a=o=}==========>>,>:>H>"d>r>>>>>>>>>>> ??&?4?D?Q?_?m?{?????????@@@*@8@F@T@a@o@}@@@@@@@@@@ AA,A:AHAVAdArAAAAAAAAAAA BB'B4BBBPB]BiBwBBBBBBBBBBCCC,C:CHCVCdCrCCCCCCCCCCC DD(D@DMD[DhDvDDDDDDDDDDEEE.EhKhYhghshhhhhhhhhhiii,i:iHiVidiriiiiiiiiiijj!j/j=jKjWjejrjjjjjjjjjjkkk,k:kHkVkekskkkkkkkkkkk ll(l6lDlRl`lml{llllllllll mm(m6mDmQm^mlmzmmmmmmmmmmnn#n2n@nNn[ninwnnnnnnnnnnooo*o6oDoRo`ouooooooooooo pp)p6pDpRp_pmpzppppppppppqq"q/q>qLqZqgqtqqqqqqqqqqrr!r0r=rJrXrfrtrrrrrrrrrr ss(s6sCsQs_smszsssssssssstt!t/t;tItVtdtsttttttttttt uu%u2uFuUucuquuuuuuuuuuuvv(v6vDvWvevsvvvvvvvvvvv ww&w3wAwNw_superlu_utils.cget_tls_globalSuperLUGlobal_deallocsuperlu_python_module_abort.coldsuperlu_python_module_free.coldcrtstuff.cderegister_tm_clones__do_global_dtors_auxcompleted.0__do_global_dtors_aux_fini_array_entryframe_dummy__frame_dummy_init_array_entry_superlumodule.cPy_gstrskwlist.2Py_gstrfkwlist.1Py_gssvkwlist.0moduledefSuperLU_Methodsgssv_docgstrf_docgstrs_doc_superluobject.cmy_strxcmpyes_no_cvtint_cvtdouble_cvtSuperLU_deallocrowperm_cvtnorm_cvtfact_cvtmilu_cvtcolperm_cvttrans_cvtdroprule_cvtiterrefine_cvtSuperLU_solveCSWTCH.175SuperLU_getterstatic_Glu.1cgsitrf.ccgssv.ccgstrf.ccgstrs.ccmemory.ccexpand.constprop.2cpanel_bmod.ccpruneL.ccsnode_bmod.ccsp_blas2.ccutil.cdgsitrf.cdgssv.cdgstrf.cdgstrs.cdmemory.cdexpand.constprop.2dpanel_bmod.cdpruneL.cdsnode_bmod.cdsp_blas2.cdutil.cget_perm_c.cilu_ccolumn_dfs.cilu_ccopy_to_ucol.cilu_cdrop_row.cilu_cpanel_dfs.cilu_cpivotL.cilu_csnode_dfs.cilu_dcolumn_dfs.cilu_dcopy_to_ucol.cilu_ddrop_row.cilu_dpanel_dfs.cilu_dpivotL.cilu_dsnode_dfs.cilu_heap_relax_snode.cilu_relax_snode.cmark_relax.cmmd.cqselect.cscomplex.csgsitrf.csgssv.csgstrf.csgstrs.csmach.csmemory.csexpand.constprop.2sp_coletree.csp_ienv.cCSWTCH.1sp_preorder.cspanel_bmod.cspruneL.cssnode_bmod.cssp_blas2.csuperlu_timer.csutil.czgsitrf.czgssv.czgstrf.czgstrs.czmemory.czexpand.constprop.2zpanel_bmod.czpruneL.czsnode_bmod.czsp_blas2.czutil.cccolumn_bmod.ccolamd.ccolamd_recommended.part.0csp_blas3.cdcolumn_bmod.cdcomplex.cdmach.cdsp_blas3.cilu_scolumn_dfs.cilu_scopy_to_ucol.cilu_sdrop_row.cilu_spanel_dfs.cilu_spivotL.cilu_ssnode_dfs.cilu_zcolumn_dfs.cilu_zcopy_to_ucol.cilu_zdrop_row.cilu_zpanel_dfs.cilu_zpivotL.cilu_zsnode_dfs.cscolumn_bmod.cssp_blas3.czcolumn_bmod.czsp_blas3.cblas_lapack_wrappers.c__FRAME_END__XDestroy_SuperNode_MatrixsSetRWorkSuperLUGlobalTypedqselectzLUMemXpandprint_float_vecnewSuperLUObjectdLUMemInitsprint_solndinf_norm_errorzSetRWorksmachcLUWorkFreecCreate_CompRow_Matrixscheck_tempvXDestroy_CompCol_MatrixsgssvzFillRHSilu_zcolumn_dfsdGenXtruesCopy_Dense_Matrixsp_dgemmsuperlu_malloccolamd_recommendedslu_mmdelm_d_cnjgcpanel_bmodsp_coletreeslu_mmdnum_cCreate_SuperNode_MatrixzCreate_Dense_MatrixcLUWorkInitdStackCompresssp_zgemmsgstrscCompRow_to_CompColfloatCalloczCreate_CompRow_Matrixzpanel_bmod__GNU_EH_FRAME_HDRDenseSize_finizexpandDenseSuper_from_NumericsCreate_Dense_Matrixuser_bcopysuser_freeTreePostorderdFillRHSNCFormat_from_spMatrixilu_spivotLzLUMemInitilu_csnode_dfsNRFormat_from_spMatrixcgstrfsprint_lu_colzCompRow_to_CompColsPrint_CompCol_Matrixdprint_lu_colz_absprint_singlecomplex_vec_GLOBAL_OFFSET_TABLE_ilu_heap_relax_snodeget_metisilu_scolumn_dfsdgssvsp_dtrsvStatPrintzgstrfdpanel_bmodzLUWorkInitilu_dpanel_dfsSuperLU_methodsdLUMemXpanddgstrfsp_preordersp_ienvilu_dsnode_dfsduser_malloczCopy_CompCol_MatrixsLUWorkFreedCopy_CompCol_Matrixifillsuperlu_python_module_freeilu_sQuerySpacesuser_malloccPrint_Dense_Matrixprint_doublecomplex_vecilu_dQuerySpacecgstrscheck_repfnzsp_sgemmXDestroy_CompCol_PermuteddoublecomplexCallocgenmmd_ilu_spanel_dfssymamdcLUMemXpandPrintSummdsnode_bmodsCopy_CompCol_Matrixzcolumn_bmodsLUMemInitsinf_norm_errorintCalloccgsitrfcopy_mem_singlecomplexprint_int_vecdgsitrfcGenXtruecuser_malloccCopy_CompCol_MatrixspruneLdSetRWorkdallocateAsSetupSpacedCopy_Dense_MatrixcCreate_CompCol_Matrixint32Callocdmemory_usagecSetRWorksgstrfcpruneLc_abs1input_errorsGenXtruedCreate_SuperNode_Matrixilu_ccolumn_dfssCreate_SuperNode_Matrixilu_dcolumn_dfscCreate_Dense_Matrixslu_mmdint_dpruneLsuperlu_abort_and_exitilu_zpanel_dfsspanel_bmodLUFactFlopssPrint_SuperNode_Matrixsp_strsvilu_cpivotLdoublecomplexMallocdprint_solnsPrint_Dense_MatrixdCreate_CompCol_Matrixint32MalloczStackCompresscopy_mem_doubled_imagzprint_solncuser_freezgsitrfilu_dcopy_to_ucolilu_zQuerySpace__TMC_END__XStatFreeilu_sdrop_rowSpaSizeilu_zpivotLDestroy_CompRow_Matrixget_perm_cprint_double_veccexpandcmemory_usagecLUMemInitresetrep_col__dso_handlecprint_lu_colfloatMallocz_sqrtsp_cgemmsymamd_reportz_divzPrint_CompCol_MatrixsinglecomplexMallocz_sgnzmemory_usagedPrint_SuperNode_Matrixc_sqrtdCompRow_to_CompColzSetupSpacesuperlu_python_module_abortzuser_freec_sgnssnode_bmodilu_relax_snodedmachzgssvcPrint_CompCol_Matrixat_plus_acallocateAilu_set_default_optionssCreate_CompCol_MatrixsLUWorkInitintMallocsmemory_usagecheck_permsPrintPerfdgstrsprint_optionsmark_relaxsLUMemXpandilu_ssnode_dfssgsitrfdcheck_tempvsCompRow_to_CompColsp_ctrsvzgstrssStackCompressdPrintPerfcopy_mem_intsuper_statscopy_mem_floatdPrint_Dense_Matrixcolamd_set_defaultsduser_freer_cnjgilu_zsnode_dfscPrintPerfsFillRHSsfillcinf_norm_errorilu_cQuerySpacesallocateAprint_panel_segccolumn_bmodcFillRHSSparseFormat_from_spMatrixSuperLUTypedfillsuperlu_python_jmpbufcsnode_bmodcSetupSpaceLUSolveFlopsdcolumn_bmodStatInitdLUWorkInitcprint_solnsp_symetreeXDestroy_SuperMatrix_Storezcheck_tempvSuperLU_getsetsinglecomplexCallocilu_countnzSuperLU_timer_copy_mem_doublecomplexsp_sgemvccheck_tempvsp_cgemvsp_ztrsvmc64id_SetIWorkzsnode_bmodzPrint_Dense_MatrixcStackCompressilu_ddrop_rowsp_dgemvcgssvdoubleMalloczLUWorkFreeilu_ccopy_to_ucolmc64ad__scipy_sparse_superlu_ARRAY_APIz_expc_divilu_scopy_to_ucolzCreate_CompCol_Matrixzprint_lu_colsp_zgemv_scipy_sparse_superlu_ARRAY_APIPyArray_RUNTIME_VERSIONzCreate_SuperNode_Matrixilu_cpanel_dfssuperlu_freesqselectdCreate_Dense_Matrixr_imagcCopy_Dense_MatrixsexpandDestroy_Dense_MatrixzPrintPerfilu_zdrop_rowscolumn_bmodc_abscolamd_reportsCreate_CompRow_Matrixz_abs1dPrint_CompCol_Matrixzinf_norm_errorzuser_mallocc_expslu_PrintInt10set_superlu_options_from_dictzGenXtrueget_colamddCreate_CompRow_Matrixilu_cdrop_rowLU_to_csc_matrixzallocateAslu_mmdupd_zpruneLilu_dpivotLcfilldSetupSpaceprint_ilu_optionszCopy_Dense_MatrixzPrint_SuperNode_MatrixdLUWorkFreefixupL_DYNAMICsuperlu_python_module_malloc_initilu_zcopy_to_ucolgetatazfilldoubleCallocdexpandcPrint_SuperNode_Matrixscipy_zlapmt_scipy_cgbtrf_scipy_dgelsy_scipy_zgemm_scipy_dlantp_scipy_ztrcon_scipy_zpocon_scipy_dlaqr4_scipy_sspcon_scipy_slarrb_scipy_zpptrf_scipy_sdisna_scipy_cgemqrt_scipy_zher2k_scipy_slartgp_PyExc_ImportErrorscipy_zlarnv_scipy_clantb_scipy_ssbgvd_scipy_dtpqrt_scipy_slaqge_scipy_icamax_scipy_zhetrs2_scipy_cgesvd_scipy_zlartv_scipy_cptrfs_scipy_zbdsqr_scipy_dgelq2_scipy_cgebd2_scipy_slasd6_scipy_zposv_scipy_ztrsv_scipy_csptrs_scipy_zlaqr5_scipy_dggqrf_scipy_ssfrk_PyDict_SetItemStringscipy_dormhr_exp@@GLIBC_2.2.5scipy_dppequ_scipy_strevc_scipy_slaed7_scipy_dggrqf_scipy_chseqr_scipy_zgeqrt_scipy_dormtr_scipy_dpotri_scipy_cunm2r_scipy_checon_scipy_dlasdq_scipy_dtrmm_scipy_crotg_scipy_slamch_scipy_dsytrd_scipy_srotmg_scipy_sgbcon_scipy_dtrsm_scipy_dlaed6_scipy_dggesx_scipy_csyrk_scipy_cheevr_scipy_ztrtri_scipy_zpotri_scipy_dpotf2_scipy_cher_scipy_zhpr2_scipy_clarfb_scipy_cspcon_scipy_dpotrf_scipy_csymv_scipy_dlasda_scipy_ctrsen_scipy_ztpqrt_scipy_dlarrb_scipy_slagtm_scipy_spbcon_scipy_cgbequ_scipy_crot_scipy_strexc_scipy_cpbsvx_scipy_sormtr_scipy_dgeql2_scipy_cstemr_scipy_dlasyf_scipy_shsein_scipy_slauum_memset@@GLIBC_2.2.5scipy_dsygv_scipy_sorm2l_scipy_strrfs_scipy_dlaqsb_scipy_ssbgvx_scipy_ztprfb_scipy_cpotrs_scipy_shgeqz_scipy_dlaln2_scipy_slasd0_scipy_ssbgst_scipy_cggglm_scipy_zlansp_scipy_sgsvj0_scipy_dspcon_scipy_dsbevx_scipy_sgelq2_scipy_ssymv_scipy_ztfttr_scipy_dlaqr1_scipy_sggglm_scipy_ssyr2k_scipy_clatrz_scipy_sorglq_scipy_ztbsv_scipy_iladlc_scipy_sgeql2_scipy_ccopy_PyObject_CallMethodscipy_sgebrd_scipy_sorgql_scipy_dlasq4_scipy_slaexc_scipy_zlantb_scipy_clarrv_scipy_slag2d_scipy_dsterf_scipy_drot_scipy_zlatrd_scipy_dpocon_scipy_cungrq_scipy_zgtrfs_scipy_slals0_scipy_dlarre_scipy_dlagtf_scipy_cgecon_scipy_zher_scipy_slarre_scipy_dtpsv_scipy_sptts2_scipy_zscal_scipy_sspgvx_scipy_izamax_scipy_clascl_scipy_cgghrd_scipy_cgesdd_scipy_dlaswp_scipy_clag2z_scipy_slaic1_scipy_sormqr_scipy_spftri_scipy_sgeqrfp_PyExc_ValueErrorscipy_cher2k_PyType_Readyabort@@GLIBC_2.2.5scipy_slaed5_scipy_dtgsja_scipy_ctrrfs_scipy_sgbtrf_scipy_ztrti2_scipy_zlapll_scipy_dgeqrfp_PyLong_FromVoidPtrscipy_zpotrf_scipy_zlarzt_scipy_ctbsv_scipy_zppsvx_scipy_zhpevx_scipy_cgbcon_scipy_csysv_scipy_slaqr5_scipy_zdscal_scipy_dgerqf_scipy_ztptri_scipy_claqr4_scipy_slarrj_scipy_dsytrf_scipy_dgebak_scipy_sopmtr_scipy_sggbak_scipy_dormql_scipy_slacn2_PyLong_AsVoidPtrscipy_slasrt_scipy_zuncsd_scipy_dlanhs_scipy_slaln2_scipy_slar1v_scipy_dtrtri_scipy_chegv_scipy_ztrmm_scipy_zlaed0_scipy_sstedc_scipy_ilazlr_scipy_zsytri2x_scipy_zsprfs_scipy_dgetrs_scipy_dsgesv_scipy_dtzrzf_scipy_zsytri2_scipy_dlae2_scipy_dlanv2_scipy_dggbak_scipy_dpbcon_scipy_cgbsv_scipy_slaqr2_scipy_zhptri_scipy_zgecon_scipy_sspevd_scipy_stgsen_scipy_zhpgst_scipy_dlaruv_scipy_cpotrf_scipy_zlacon_scipy_zhfrk_scipy_dlaqps_scipy_dtpqrt2_scipy_cpoequb_scipy_cgeev_PyExc_SystemErrorscipy_zpbtrf_scipy_slanv2___gmon_start__scipy_cptts2_scipy_dorgr2_scipy_zhecon_scipy_cunmr3_scipy_dgerq2_scipy_chegst__setjmp@@GLIBC_2.2.5scipy_cbbcsd_scipy_slags2_scipy_ctrexc_scipy_zlasyf_scipy_zlartg_scipy_dlaeda_scipy_dgehd2_PyGILState_Releasescipy_dlaqr2_scipy_dlauu2_scipy_stbcon_scipy_sgeequb_scipy_spttrf_scipy_zlaqps_scipy_zgeqr2p_scipy_sormr3_scipy_slarzt_scipy_zgeqrt2_scipy_slalsd_scipy_dsytri2_scipy_zlahr2_scipy_dlasd3_scipy_cgelss_scipy_zsptrs_scipy_zsyconv_scipy_dlartgp_scipy_zlaev2_scipy_zspmv_scipy_slatps_scipy_zgbsv_scipy_sasum_scipy_zhpev_exit@@GLIBC_2.2.5scipy_dpbstf_scipy_chpsv_scipy_stpsv_scipy_zhegvx_scipy_cgetri_scipy_dgeqr2p_scipy_ssytrs_scipy_ssymm_scipy_dstev_scipy_dlarfgp_scipy_cpotri_scipy_clar2v_scipy_zgesv_scipy_zhetf2_scipy_zherfs_scipy_zggev_scipy_dorg2r_scipy_dsyevx_PyCapsule_Typescipy_ssyrfs_scipy_zposvx_scipy_cbdsqr_scipy_clagtm_scipy_ssyevx_scipy_dgeqlf_scipy_sorghr_scipy_dlargv_scipy_sstein_scipy_zlaesy_scipy_dgeesx_scipy_dgsvj1_scipy_chbgv_scipy_ctrmm_gettimeofday@@GLIBC_2.2.5scipy_zpptrs_scipy_dsbgv_scipy_dgbbrd_scipy_chpev_scipy_zlaqp2_scipy_dtftri_scipy_dsygvx_scipy_sgemm_scipy_dpttrs_PyErr_NoMemoryscipy_claqr5_scipy_clacrm_scipy_dtbsv_scipy_chegvd_scipy_ilauplo_scipy_cunghr_scipy_clalsa_scipy_ssyevr_scipy_slasd5_putchar@@GLIBC_2.2.5scipy_claswp_scipy_dgetf2_scipy_ssbevx_scipy_cgtts2_scipy_sgees_scipy_clarnv_scipy_clansp_scipy_slatrd_scipy_dormlq_scipy_sspgvd_scipy_dlapy3_scipy_cgelq2_scipy_ctpttr_scipy_slaed0_scipy_sgbtrs_scipy_ssyswapr_scipy_dlaqge_scipy_dpprfs_scipy_zgttrf_scipy_ssygvx_scipy_zhpsv_scipy_slabrd_scipy_sggrqf_scipy_zlanht_scipy_sgejsv_scipy_dorcsd_scipy_dormrz_scipy_sgesv_scipy_chprfs_scipy_stprfs_scipy_sptsvx_scipy_zlarfx_scipy_zcopy_scipy_ctpttf_scipy_sgtsvx_scipy_dlasd6_scipy_sgels_scipy_spocon_scipy_zhptrd_scipy_zungql_scipy_zggevx_scipy_cgemm_scipy_dlasdt_scipy_csytri2_malloc@@GLIBC_2.2.5scipy_cgtsv_scipy_zhpgvd_scipy_ctprfb_scipy_cgeru_scipy_dlansy_scipy_zdrscl_scipy_cgetrf_scipy_ssyrk_scipy_dlalsa_scipy_cgesv_PyExc_TypeErrorscipy_sorgr2_scipy_dlarrk_scipy_dlacpy_scipy_sopgtr_scipy_spbsv_scipy_dlarrv_scipy_ztpmqrt_scipy_zhbgst_scipy_zhetrf_scipy_zgbbrd_scipy_sgemqrt_scipy_spotrf_scipy_slansy_scipy_sgesvd_scipy_dsygvd_scipy_csteqr_scipy_dsptrs_scipy_dlatbs_scipy_strsna_scipy_ztrttp_PyExc_ModuleNotFoundErrorscipy_slartv_scipy_claqr2_scipy_cheevx_scipy_sladiv_scipy_chbgvd_scipy_zlar2v_scipy_zsytrf_scipy_slamrg_scipy_zheev_scipy_zgeevx_scipy_sporfs_scipy_dggev_scipy_dpptrf_scipy_dgtsvx_scipy_clansb_scipy_dpotrs_scipy_dgbequ_scipy_cppequ_scipy_dnrm2_scipy_sptrfs_scipy_dswap_scipy_ssbev_scipy_zgebrd_scipy_slacon_scipy_dlaed5__PyObject_Newscipy_chegvx_scipy_ssteqr_scipy_cung2l_scipy_stpttr_scipy_sorgbr_scipy_ssytri2_scipy_chetd2_scipy_dlartgs_scipy_clags2_scipy_sbdsdc_scipy_spstrf_scipy_dtrsyl_scipy_zsyr2k_scipy_cpbtf2_scipy_ztrtrs_scipy_zpotrs_scipy_sgelss_scipy_ztfsm_scipy_slaqsy_scipy_zhpmv_scipy_dsptrd_scipy_zhbevx_scipy_cupgtr_scipy_slargv_scipy_zhemm_scipy_sgbequ_scipy_ctrsv_scipy_zgbequb_scipy_zlauum_scipy_claed7_scipy_cppcon_scipy_zgees_scipy_slantb_scipy_dlasq3_scipy_dlaed0_scipy_cgglse_scipy_ilaclc_scipy_sstev_scipy_dtprfs_scipy_zsytrs2_scipy_sgetf2_scipy_sgeev_scipy_zhetri2_scipy_dsyevr_scipy_sstevd_scipy_zgeqp3_scipy_zlaqr1_scipy_sgesdd_scipy_cpftrf_scipy_cpbtrs_scipy_dlaexc_scipy_ctrmv_scipy_zpbtf2_PyDict_Nextscipy_zgeqlf_scipy_clangb_scipy_clarzt_scipy_dspgv_scipy_cptsv_scipy_dtrevc_scipy_zgerqf_scipy_slantr_scipy_dger_scipy_ctrtri_scipy_sgesvj_scipy_cgeevx_scipy_sspsvx_scipy_chptrd_scipy_dorm2r_scipy_chpr2_scipy_zunmrq_scipy_sger_scipy_scsum1_scipy_dormrq_scipy_zggbak_scipy_zlabrd_scipy_dlarrf_scipy_dcabs1_PyLong_AsLongscipy_zpftrf_scipy_ssygvd_scipy_dgeqrf_scipy_zgeqrfp_scipy_dsyrfs_scipy_cgerfs_scipy_ztrsyl_scipy_drotg_scipy_cpoequ_scipy_csyr_scipy_claqsy_scipy_dlarfx_scipy_dlatrz_scipy_zlagtm_scipy_dlabrd_scipy_dorgql_scipy_zggrqf_scipy_slaqr1_scipy_dlar2v_scipy_zlansy_scipy_dlanst_scipy_dgglse_scipy_dpbrfs_scipy_zgbtrs_scipy_sstevx_scipy_zlarcm_scipy_clalsd_scipy_dzsum1_scipy_zsymm_scipy_zgelqf_scipy_sgeqr2_scipy_zpbsv_PyErr_Formatscipy_dlarra_scipy_dhseqr__ITM_deregisterTMCloneTablescipy_sgeevx_scipy_dgghrd_scipy_zgeqrt3_scipy_sppsvx_scipy_csyswapr_scipy_stgex2_scipy_cppsvx_scipy_chpgvd_scipy_sdot_scipy_dgelss_scipy_ztgsen_scipy_dgeqrt3_scipy_clahr2_scipy_slartg_scipy_dlabad_scipy_dsymm_scipy_clartv_scipy_dlatps_scipy_clatrd_scipy_claqsb_scipy_ztbtrs_scipy_zlaqr0_scipy_sorg2r_scipy_claed0_scipy_slae2_scipy_dspevd_scipy_slasv2_scipy_zgeequb_scipy_csyr2k_scipy_dspgvd_scipy_cgesc2_scipy_dorgl2_scipy_ctftri_scipy_ssptri_scipy_zhemv_scipy_zptrfs_scipy_dstevx_scipy_slasq6_PyErr_ExceptionMatchesscipy_dsptri_PyErr_Occurredscipy_dlaed3_scipy_dlaebz_scipy_slaed6_scipy_ctrsna_scipy_ddisna_scipy_sgehrd_scipy_claqhp_scipy_dtrmv_scipy_sgeesx_scipy_ztpqrt2_scipy_clacrt_scipy_csptri_scipy_dgtts2_scipy_cherk_scipy_zlanhb_scipy_zgebd2_free@@GLIBC_2.2.5scipy_dlapll_scipy_stfttp_scipy_ctgsen_scipy_spprfs_scipy_dlartv_scipy_zpbstf_scipy_sgelqf_scipy_ssbgv_scipy_dpptrs_scipy_slaqsb_scipy_dsteqr_scipy_zhetrd_scipy_dorgrq_scipy_clange_scipy_sormlq_scipy_clanhf_scipy_cunmhr_scipy_dsysvx_scipy_stptri_scipy_chptri_scipy_clarf_scipy_cggev_scipy_slatrs_scipy_dtfttp_scipy_strtri_scipy_chbev__ITM_registerTMCloneTablescipy_chesv_scipy_chgeqz_scipy_dgtrfs_scipy_dgsvj0_scipy_drscl_scipy_slarrv_scipy_dlaic1_scipy_cpotf2_scipy_shseqr_scipy_slaed9_scipy_cungbr_scipy_clarz_scipy_chegs2_scipy_zlacp2_scipy_sgsvj1_scipy_zgebak_scipy_chbmv_scipy_stbmv_PyArg_ParseTupleAndKeywordsscipy_ssytrd_scipy_zcposv_scipy_zlag2c_scipy_cggesx_scipy_dsygst_scipy_dgebrd_scipy_dlaed4_scipy_dptts2_scipy_dtrcon_scipy_dorml2_scipy_zgghrd_scipy_zunmtr_scipy_clapll_scipy_zunmlq_scipy_dgbtf2_scipy_dsbmv_scipy_ztpttr_scipy_zlanhs_scipy_sgeqrf_scipy_clauu2_scipy_claqp2_scipy_spptrf_scipy_cpbequ_scipy_ctpmqrt_scipy_slatdf_scipy_cgerc_scipy_zheequb_scipy_sgeqp3_scipy_slarzb_scipy_csscal_scipy_dlatrd_scipy_cunmql_scipy_stpmv_scipy_chpmv_scipy_zlaqr3_scipy_cgehrd_scipy_dlasd7_scipy_ztrsna_scipy_sptsv_scipy_zhpgvx_scipy_strcon___ctype_b_loc@@GLIBC_2.3scipy_zsymv_scipy_dlarzb_scipy_cunmr2_scipy_slascl___cxa_finalize@@GLIBC_2.2.5scipy_slatbs_scipy_slapmr_scipy_cgges_scipy_slasy2_scipy_slassq_scipy_stpqrt2_scipy_cposv_scipy_claqgb_scipy_zgeqr2_scipy_cptcon_scipy_zhpgv_scipy_dsygs2_scipy_ilaver_scipy_zpstrf_scipy_clapmt__Py_FalseStructscipy_sspgv_scipy_dlapmt_scipy_cgeqr2_scipy_spptrs_scipy_cgtrfs_PyEval_RestoreThreadscipy_slaein_scipy_zptsv_scipy_cgeqr2p_scipy_cgerq2_scipy_sgebal_scipy_ilaslr_scipy_sgelsd_scipy_cung2r_scipy_dlasy2_scipy_clansy_scipy_ctrttf_scipy_sgerfs_scipy_sggesx_scipy_dgesv_scipy_cpptrs_scipy_dpoequ_scipy_zgeru_scipy_zunmrz_scipy_zhbgvx_scipy_cpbsv_scipy_spbtf2_scipy_csytrf_scipy_cpftri_scipy_csytri2x_scipy_ztgevc_scipy_ssyevd_scipy_ctgevc_sprintf@@GLIBC_2.2.5scipy_chptrf_scipy_ctptrs_scipy_claqr1_scipy_dtptri_scipy_dgebal_scipy_dgtcon_scipy_sorgrq_scipy_dgeev_scipy_stgsy2_scipy_spbtrf_scipy_cpttrf_scipy_cgehd2_scipy_dlasq2_scipy_dlaqr3_scipy_dstegr_scipy_zsycon_scipy_zungqr_scipy_cggrqf_scipy_dgbmv_scipy_zsyrfs_scipy_dsytd2_scipy_slas2_scipy_srot_scipy_zlar1v_scipy_csprfs_scipy_clarfg_scipy_sgglse_scipy_zhseqr_scipy_dlasd0_scipy_zlange_scipy_zlalsa_scipy_zunm2l_scipy_zpteqr_scipy_ztgsy2_scipy_dgees_scipy_cgttrf_scipy_dormqr_scipy_zhetd2_scipy_dlasd2_scipy_sgetrf_scipy_chetrs_scipy_zhesvx_scipy_dgesc2_scipy_zung2l_scipy_idamax__Py_TrueStructscipy_cggbak_scipy_dstevr_scipy_dormbr_scipy_zspcon_scipy_ctpsv_scipy_dorgtr_scipy_dtgsen_scipy_ctbmv_scipy_clarfgp_PyUnicode_AsASCIIStringscipy_cswap_scipy_zgehd2_scipy_zgerc_scipy_zlaqhp_scipy_slarrc_scipy_clahqr_scipy_sormql_scipy_slarft_scipy_sppsv_scipy_zlaqsb_scipy_zpbsvx_scipy_stfttr_scipy_csysvx_scipy_ztgsja_scipy_zgesvd_scipy_zhegv_PyEval_SaveThreadscipy_cgebak_scipy_zgetc2_scipy_clarfx_scipy_stprfb_scipy_dlartg_scipy_slaset_scipy_zung2r_scipy_sbbcsd_scipy_dgebd2_scipy_sstevr_scipy_sspsv_scipy_zlarfg_scipy_dgbsvx_scipy_iladlr_scipy_zpprfs_scipy_ctrti2_scipy_slapy2_scipy_sormhr_scipy_dlagv2_scipy_dtfttr_scipy_clacon_scipy_slahqr_scipy_dsbev_scipy_slaqgb_scipy_dgels_scipy_stpqrt_scipy_zheevd_scipy_cstedc_scipy_cunmtr_scipy_csyequb_scipy_claqps_scipy_cgetrs_scipy_zsysvx_scipy_slasd1_scipy_zpttrs_scipy_zupmtr_pow@@GLIBC_2.2.5scipy_cgeqrt3_scipy_chetf2_scipy_dscal_PyModule_GetDictscipy_zhegst_scipy_dlagts_scipy_chbtrd_scipy_dlatdf_scipy_dlarrj_scipy_sgesvx_scipy_dlag2_scipy_zhbtrd_scipy_cheev_scipy_dgemqrt_scipy_zhegs2_scipy_clangt_scipy_dgeqrt_scipy_cgbrfs_scipy_dposvx_scipy_zlaein_PyErr_Restorescipy_dsbevd_scipy_zptts2_scipy_ctpqrt2_scipy_zgerfs_scipy_strtrs_scipy_dspsv_scipy_ssprfs_scipy_ssytrf_scipy_cgbtrs_scipy_ctrttp_scipy_zunmbr_scipy_dtbcon_scipy_dorm2l_scipy_chbgvx_scipy_dsbtrd_scipy_cpbtrf_scipy_zgetrs_scipy_dlahqr_scipy_dstevd_scipy_dgttrf_scipy_srotm_scipy_slasyf_scipy_slarf_scipy_zhbgvd_scipy_zgbrfs_scipy_dlasd5_scipy_ssytrs2_scipy_dlaqp2_scipy_zlantp_scipy_ssytri2x_scipy_clasr_scipy_cungqr_scipy_ztrsen_scipy_sormrq_scipy_dtgsna_PySequence_Sizescipy_zupgtr_scipy_zsptrf_scipy_clacp2_scipy_spttrs_PyExc_RuntimeErrorscipy_dsytrs2_scipy_slasd7_scipy_spftrf_scipy_zsptri_scipy_chetri2_scipy_cgesvx_scipy_zggglm_scipy_zher2_PyType_IsSubtypefputs@@GLIBC_2.2.5scipy_dlarfg_scipy_sgttrs_scipy_dporfs_scipy_dsbgvx_scipy_dorglq_scipy_cgtsvx_scipy_cgelsy_scipy_dgeevx_scipy_ssygs2_scipy_zgglse_scipy_cgeql2_scipy_zlargv_scipy_dsyr2_scipy_ctptri_scipy_zgeqrf_scipy_csptrf_scipy_ssytd2_scipy_dhgeqz_scipy_slapy3_scipy_dtptrs_scipy_zheevx_scipy_zlatrs_scipy_zpstf2_scipy_clanhe_scipy_ztbcon_scipy_dpbsvx_scipy_zheevr_scipy_ztptrs_scipy_zstegr_scipy_dbdsdc_scipy_zbbcsd_scipy_dorbdb_scipy_cgbtf2_scipy_dpbequ_scipy_zggqrf_scipy_zunghr_scipy_clanht_scipy_cpftrs_scipy_spotri_scipy_csytf2_scipy_dtgsyl_scipy_zsyswapr_scipy_dlarft_scipy_dspgst_scipy_dtrsen_scipy_cgerqf_scipy_dsbgvd_scipy_ssytri_scipy_dlarfb_scipy_dlarz_scipy_cgeqrf_scipy_zggbal_scipy_ztrrfs_scipy_zporfs_scipy_dstemr_scipy_slaswp_scipy_slansp_scipy_dlaqgb_scipy_dlatrs_scipy_zlacrm_scipy_slarrk_scipy_cgetf2_scipy_dlascl_scipy_slarnv_scipy_cgbequb_PyGILState_Ensurescipy_sgerq2_scipy_classq_scipy_cgelsd_PyDict_DelItemscipy_zlaqr4_scipy_zheswapr_scipy_dsytf2_scipy_zlansb_scipy_ztgsyl_scipy_zunm2r_scipy_zgbcon_scipy_dgelqf_scipy_sgeqrt3_scipy_stgsna_scipy_zpoequ_scipy_zgbsvx_scipy_zpftri_scipy_chpr_scipy_claein_scipy_dtrexc_scipy_dggbal_scipy_snrm2_scipy_zungl2_scipy_zlags2_scipy_dspevx_scipy_zgebal_scipy_zlahqr_scipy_sptcon_scipy_cungl2_scipy_dggevx_scipy_zgerq2_scipy_dgtsv_scipy_dsyr2k_scipy_cporfs_scipy_dtrsv_scipy_slaqsp_scipy_dbbcsd_scipy_cscal_scipy_dggglm_scipy_ztzrzf_scipy_slarrr_scipy_slarfgp_scipy_zspsvx_scipy_zlaqhb_scipy_dtpcon_scipy_cgttrs_scipy_dstebz_scipy_zstein_scipy_ctgsyl_scipy_slalsa_scipy_cgeqlf_scipy_lsame_scipy_dsysv_scipy_sgetrs_scipy_dsfrk_scipy_spteqr_scipy_cgeequb_scipy_sgebak_scipy_zrot_scipy_sspr2_scipy_cgeqrt2_scipy_zlascl_scipy_sgetc2_scipy_claic1_scipy_zlarf_scipy_sgetri_scipy_dgetrf_PyErr_Fetchscipy_sgbsv_scipy_sgecon_scipy_zlatps_scipy_zaxpy_scipy_slansb_scipy_dlas2_scipy_slaev2_scipy_dpftrf_scipy_zhgeqz_scipy_ssbevd_scipy_ilatrans_scipy_clanhb_PyFloat_AsDoublescipy_slasq2_scipy_dlamch_scipy_ddot_scipy_slaed2_scipy_slasd4_scipy_zlanhf_scipy_cpbstf_scipy_cpbcon_PyThreadState_GetDictscipy_dlasq1_scipy_isamax_scipy_cgtcon_scipy_ctgex2_scipy_clantp_scipy_dlacn2_scipy_xerbla_array_scipy_dsytri2x_scipy_zlantr_scipy_drotm_PySequence_Checkscipy_dspmv_scipy_dlaqsp_scipy_ssbtrd_scipy_zlacn2_scipy_ilazlc_scipy_dsytri_scipy_stbtrs_scipy_clauum_scipy_slar2v_scipy_ztrsm_scipy_dposv_scipy_chemm_scipy_zlaed8_scipy_dgemv_scipy_clacn2_scipy_sggqrf_scipy_dopmtr_scipy_strmm_scipy_dlasd8_scipy_claqsp_scipy_chetrd_scipy_spstf2_scipy_dlansf_scipy_cspsvx_scipy_ctgsja_scipy_sormrz_scipy_dormr3_scipy_dsposv_scipy_slaeda_scipy_zgemqrt_Py_BuildValuescipy_dptrfs_scipy_zlaic1_scipy_slarrd_scipy_dlasd1_scipy_dladiv_scipy_dlaqsy_scipy_sgbmv_scipy_dgejsv_scipy_sggev_scipy_zgeequ_scipy_dlaein_scipy_dlag2s_PyObject_GetAttrStringscipy_cgetc2_scipy_zpotf2_scipy_zstedc_scipy_cgeqrfp_scipy_sspmv_scipy_ztgex2_scipy_zhetri2x_scipy_spotf2_scipy_zhetri_scipy_zsytri_scipy_dlauum_PyInit__superluscipy_zsytrs_scipy_dtpttr_scipy_clarcm_scipy_cgebal_scipy_dpptri_scipy_slanhs_scipy_dpbtrs_scipy_slangb_scipy_csycon_scipy_cspmv_scipy_dtgsy2_scipy_dlaed8_scipy_sbdsqr_scipy_cgelqf_scipy_slaqtr_scipy_cherfs_scipy_zlalsd_scipy_stzrzf_scipy_dspev_scipy_cuncsd_scipy_scasum_scipy_dgesvx_scipy_dlasq6_scipy_dlangb_scipy_zlassq_scipy_cher2_scipy_zlaqhe_scipy_cpbrfs_scipy_chbevx_sincos@@GLIBC_2.2.5scipy_stpmqrt_scipy_cheevd_scipy_dlacon_scipy_dgeequ_scipy_spoequb_scipy_slahr2_scipy_dpteqr_scipy_dbdsqr_scipy_sspevx_scipy_zlasr_scipy_claqhe_scipy_slarz_scipy_slaed8_scipy_ssyev_scipy_zstemr_scipy_csyrfs_scipy_zppsv_scipy_ssygst_scipy_slaqr3_scipy_dsyrk_scipy_dpftrs_scipy_clar1v_scipy_dtfsm_scipy_zunmql_scipy_cheswapr_scipy_claset__Py_NoneStructscipy_zpftrs_scipy_sgemv_scipy_dgeqrt2_scipy_dtgex2_scipy_cunmrq_scipy_sgesc2_scipy_stptrs_scipy_chptrs_scipy_scopy_scipy_dgemm_scipy_zhbevd_scipy_ssyequb_scipy_dlat2s_scipy_dlaset_scipy_spptri_scipy_ztrttf_scipy_dgesdd_scipy_dlahr2_scipy_zhpevd_scipy_dpftri_scipy_ztrevc_scipy_slartgs_scipy_dtprfb_scipy_cungql_scipy_dlags2_scipy_dtpmqrt_scipy_claed8_scipy_dtpttf_scipy_csyconv_scipy_stgsyl_scipy_chemv_scipy_ztftri_scipy_clarft_scipy_ssyr2_scipy_dlaed1_scipy_sorg2l_scipy_dpstrf_scipy_zppcon_scipy_zhptrf_scipy_zlatbs_scipy_dsprfs_scipy_slabad_scipy_dsyr_scipy_chpgv_scipy_zsteqr_scipy_dgttrs_scipy_sorgqr_scipy_clatdf_scipy_dlassq_scipy_slarfx_scipy_cpptri_scipy_zggesx_scipy_stpttf_PyDict_GetItemStringscipy_dpbtf2_scipy_ztgexc_scipy_sstegr_scipy_cggqrf_scipy_zgesdd_scipy_sposv_scipy_stpcon_scipy_chpcon_scipy_dgecon_scipy_zgbequ_scipy_cspsv_scipy_clatps_scipy_ctbrfs_PyErr_Printscipy_ztfttp_scipy_dstedc_scipy_zlangt_scipy_chpgvx_scipy_sgeqr2p_scipy_dlaev2_scipy_ctbcon_scipy_sgtcon_scipy_clatrs_scipy_spftrs_scipy_spoequ_scipy_cunmrz_scipy_dlarrc_scipy_zgbmv_scipy_zsysv_scipy_dlansp_scipy_cpocon_scipy_zlauu2_longjmp@@GLIBC_2.2.5scipy_sgtts2_scipy_cungr2_scipy_ctrsyl_scipy_zunmhr_scipy_chetri_scipy_sorgl2_scipy_dpoequb_scipy_zgeesx_scipy_dlaqr0_scipy_stfsm_scipy_dsyswapr_scipy_ssptrs_scipy_slapmt_scipy_sposvx_scipy_ztrexc_scipy_zgeql2_scipy_zlatrz_scipy_cunm2l_scipy_slaqr0_scipy_ztrmv_scipy_iladiag_scipy_sgbsvx_scipy_zgttrs_scipy_dpstf2_scipy_dtpmv_scipy_zlacrt_scipy_zpbrfs_scipy_slagtf_scipy_dlarzt_scipy_zlarz_scipy_clapmr_scipy_zgesvx_scipy_spotrs_scipy_zhpsvx_scipy_dptsv_scipy_chetrf_scipy_zptcon_scipy_dlapmr_scipy_zlarfb_scipy_strsm_scipy_slarrf_scipy_cggbal_scipy_dptcon_scipy_dasum_scipy_zptsvx_scipy_dlar1v_scipy_cgels_scipy_slange_scipy_slangt_scipy_slaed3_scipy_slasq3_scipy_slasr_scipy_dlamrg_scipy_csytrs_scipy_clanhs___ctype_tolower_loc@@GLIBC_2.3scipy_clargv_scipy_srscl_scipy_dgeqr2_scipy_cpttrs_scipy_zhegvd_scipy_sgbrfs_scipy_dtgevc_scipy_cgbbrd_scipy_zlat2c_scipy_dspsvx_scipy_strmv_scipy_zgeev_scipy_claev2_scipy_stgsja_scipy_dorghr_scipy_zungtr_scipy_dlaqtr_scipy_claqge_scipy_sggbal_scipy_dorgbr_scipy_cposvx_scipy_cunmlq_scipy_ilaclr_scipy_ieeeck__Py_Deallocscipy_cpptrf_scipy_zgbtrf_scipy_zppequ_scipy_zgetrf_scipy_dgelsd_scipy_dsbgst_PyObject_Freescipy_ssptrd_scipy_slaqp2_PyImport_ImportModulescipy_dgbcon_scipy_ztbrfs_scipy_ctfttp_scipy_zpptri_scipy_cgbsvx_scipy_ztpsv_scipy_chbgst_scipy_dgbtrf_scipy_cpprfs_PyErr_Clearscipy_zlatdf_scipy_dgges_scipy_zlanhe_scipy_claqr3_scipy_dlagtm_scipy_dznrm2_scipy_sormbr_PyModule_Create2scipy_dgbrfs_scipy_dsytrs_scipy_zsyequb_scipy_zgtsv_scipy_sgeqlf_scipy_dsyev_scipy_dtrtrs_scipy_slasdq_scipy_cggevx_scipy_zunmqr_scipy_clanhp_scipy_dtrrfs_scipy_slasd2_PyTuple_Newscipy_sppcon_scipy_dtgexc_scipy_cgeesx_scipy_zlapmr_scipy_slasd3_scipy_sspev_scipy_zlaswp_scipy_cgeequ_scipy_zunglq_scipy_zlacpy_scipy_dgesvj_scipy_dlaqr5_scipy_ssytf2_scipy_zgtsvx_scipy_zpbcon_scipy_slarra_scipy_dopgtr_scipy_zhetrs_scipy_sgges_scipy_slansf_scipy_slanst_scipy_sspr_scipy_zlaqsp_scipy_dtbtrs_scipy_dlasd4_scipy_sgbtf2_scipy_slapll_scipy_zswap_scipy_slarfg_scipy_daxpy_scipy_slaebz_scipy_chla_transtype_scipy_dptsvx_scipy_zrotg_scipy_dtrti2_scipy_dspr_scipy_slasda_scipy_dlarnv_scipy_zdrot_scipy_dspgvx_scipy_sggevx_scipy_zhpr_scipy_zgelsd_scipy_ilaprec_scipy_slacpy_scipy_zhptrs_scipy_dlalsd_scipy_sgerqf_scipy_dtrttp_scipy_chetrs2_PyErr_SetStringscipy_strttp_scipy_sgtrfs_scipy_cupmtr_scipy_dlasr_scipy_sdsdot_scipy_claesy_scipy_sgebd2_scipy_sormr2_scipy_clahef_scipy_dsdot_stderr@@GLIBC_2.2.5scipy_dgeequb_scipy_zlaqr2_scipy_strsen_scipy_zpoequb_scipy_sorcsd_scipy_clacgv_scipy_cpstrf_scipy_csytri_scipy_dppsvx_scipy_dtbrfs_scipy_zpttrf_scipy_sgghrd_scipy_sgttrf_scipy_cspr_scipy_zungbr_scipy_dgbsv_scipy_dlange_scipy_zgges_scipy_dppsv_scipy_sswap_scipy_zhbmv_scipy_zlaed7_scipy_dsyequb_scipy_zlangb_PyObject_CallFunctionscipy_ztpcon_scipy_zgehrd_scipy_caxpy_scipy_claqr0_scipy_sgehd2_scipy_dtrsna_scipy_cstegr_scipy_cheequb_scipy_sspgst_scipy_cstein_scipy_ctzrzf_scipy_dorgqr_scipy_ssysv_scipy_sgbbrd_scipy_sstemr_scipy_dgerfs_scipy_claqhb_scipy_csytrs2_scipy_dsptrf_scipy_dlarf_scipy_stftri_scipy_zlals0_scipy_cunbdb_scipy_cunml2_scipy_scnrm2_scipy_stgevc_scipy_ctrsm_scipy_dlapy2_scipy_zlaqge_scipy_saxpy_fwrite@@GLIBC_2.2.5scipy_cppsv_scipy_zungr2_scipy_sgbequb_scipy_slarfb_scipy_zgesc2_scipy_icmax1_scipy_dlantb_scipy_slantp_scipy_ssysvx_scipy_zgelsy_scipy_zunmr3_scipy_ztbmv_scipy_csrot_scipy_chpsvx_scipy_sppequ_scipy_dlarrd_scipy_ilaslc_scipy_clasyf_scipy_csrscl_scipy_slatrz_scipy_dgbequb_scipy_izmax1_scipy_dlansb_scipy_dlaed2_scipy_ctpqrt_scipy_ctrevc_scipy_chsein_scipy_zlarfgp_scipy_sgelsy_scipy_slaruv_scipy_zhesv_scipy_slasd8_scipy_cgeqrt_scipy_zhbev_scipy_cpstf2_scipy_zgelss_scipy_ztgsna_scipy_cgemv_scipy_ztpmv_scipy_slaqps_scipy_ssptrf_scipy_dlantr_scipy_ctfttr_scipy_chpevd_scipy_dpbtrf_scipy_dsyevd_scipy_ssyr_scipy_disnan_scipy_dgeqp3_scipy_zcgesv_fprintf@@GLIBC_2.2.5scipy_dormr2_scipy_ctgsy2_scipy_ssycon_scipy_stbsv_scipy_strti2_scipy_zhpcon_scipy_zlarzb_scipy_chbevd_scipy_zgemv_scipy_dgetri_scipy_ctprfs_scipy_dppcon_scipy_sorml2_scipy_slag2_scipy_ztprfs_scipy_zlaqsy_scipy_ctfsm_scipy_zungrq_scipy_zherk_scipy_chpgst_scipy_cgebrd_scipy_stgexc_scipy_dtrttf_scipy_dlasrt_scipy_cptsvx_scipy_clabrd_scipy_slasq1_scipy_clals0_scipy_strsyl_scipy_drotmg_scipy_slaed1_scipy_csymm_scipy_sgeqrt2_scipy_zhprfs_scipy_sorgtr_scipy_ctpmv_scipy_cgees_scipy_dgetc2_scipy_zgelq2_scipy_dcopy_scipy_zlarrv_scipy_dlangt_sqrt@@GLIBC_2.2.5scipy_chetri2x_scipy_zpbtrs_scipy_slagts_scipy_dlaneg_scipy_spbstf_scipy_cunglq_scipy_ssyconv_scipy_ssbmv_scipy_cgbmv_scipy_sgeqrt_scipy_zlaqgb_scipy_dsycon_scipy_ctrtrs_scipy_dpttrf_scipy_zpbequ_memcpy@@GLIBC_2.14scipy_zlacgv_PyCapsule_GetPointerscipy_ctpcon_scipy_zgtcon_scipy_sorm2r_scipy_dgbtrs_scipy_slasdt_scipy_slasq4_scipy_ctgsna_scipy_chfrk_scipy_dgesvd_scipy_zunbdb_scipy_strttf_scipy_zspsv_scipy_dlasv2_scipy_dgehrd_scipy_slaed4_scipy_sgeequ_scipy_spbtrs_scipy_ctrcon_scipy_clarzb_scipy_dlals0_scipy_cgeqp3_scipy_zgtts2_scipy_zlanhp_scipy_sgtsv_scipy_spbrfs_scipy_zspr_scipy_ctbtrs_scipy_sscal_scipy_chesvx_PyDict_SetItemscipy_zsytf2_scipy_ztpttf_scipy_zunmr2_scipy_clatbs_scipy_dlaed7_scipy_chpevx_scipy_zunml2_scipy_srotg_scipy_zgbtf2_scipy_zsyrk_scipy_stbrfs_scipy_spbequ_scipy_zsyr_scipy_zgels_stdout@@GLIBC_2.2.5scipy_dsyconv_scipy_clartg_scipy_sorbdb_scipy_zhsein_scipy_cunmqr_scipy_slagv2_scipy_zgetri_scipy_dzasum_scipy_zlahef_scipy_dspr2_scipy_spbsvx_scipy_dstein_scipy_dlaed9_PyDict_Newfflush@@GLIBC_2.2.5scipy_ssygv_scipy_cungtr_scipy_zlaset_sqrtf@@GLIBC_2.2.5scipy_slauu2_scipy_zlarft_scipy_dpbsv_scipy_clacpy_scipy_ssterf_scipy_dlarrr_scipy_cunmbr_scipy_ctgexc_scipy_dorg2l_scipy_slaqr4_scipy_dhsein_scipy_sstebz_scipy_zgetf2_scipy_dtbmv_scipy_dsymv_scipy_strsv_scipy_clantr_scipy_zhbgv_scipy_cpteqr_.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.commentHo$$t Uo`d nBxs  j~**!LL PP, ||>xxxxh5   0/0m ` \w,  $.o( ( $8 P P p @"  h^GNUMY*z}lY/wcgjSy   a&R[VA'IE5>Wx5  >TE&3<&PU~KJ  ?V I T"N;Y(%  _>DC EPQtl*y;@BC7q2^~:25[NSj!W7UWjP U=f ![{>1A8:,9pH@\%;=4 Q&F$5YvXZ"Q/?4Y $}&h",P +=PGKdEHxP(VQ&P&43g wV< +N! ; UU$ %'*Hf6DS^L\B?L;16Rc) XY(Q]X@JkOPn,Y ]OM!G 0'LOkOMZ+*1:YGW G#!nA(BFQ` #!W /dSo2o1.a4F?L0"Du6@,,E&J 8:6G&-:NKGP99R6>+, 8K-IDTL g9)6;CPx\M)SPE&uJ %A(# AB(ZNOJ(7CK<8a1.0*I[>:.fTY;NKfC".E#-nDGD9K9j$H^FeI`AG*(N5DD3j [;W 7Z= 0N > 58JVFrKY< *$$_w4zFQ3YR86O1FBLS7!$iV4L/3Lu<^(8 Et+fJ]j5r,kM,Qg(_uV=G\!{L}1<[Y'* R#+M='S7&",KFtT M4] Ka7NV!(# 6"LCH/ ~Z!>#T*^ZSRA8:z/d@cK/f+E W0-@ 0N$$:4V6L6Z*;o#@R+K&YHC(@V6E0.c=0O+&$B^1;I(@}2I, *##.>e%9:dQ09K UGgJQF1 \$.3,Mf]]D[R~7Z Dn@NS7?* MT< )[|DPsIH;Y)1?F"@< @V@IPLbP815WeE& (D:W J 646z*z78!8Q- X]NB7/bTZF._3#An HB. )3'X0Y\{TY1$? XT98Q9)R`R\WZS H,OU)`8O!$\4V0,OX+2GK SC>2B=C.T[VgH Z MBO %MdI(?2\@5 FET4eWP<B;%2];.< INehoYM?'X]*-8|4O-%J*u(68$Nu!&O4y!B -Q&.5XLI/EG \82+<6/]MI%0S#! @=NJ)H&2SG"[jB2t]XD)2?CXpM '9n-(/+ { GM TzmL-G}#<m3OUWPY, O([X:=J0+k ,MN\=C)2}Y'/3X/G'( yM|[Vt0r@/<&*Q>+)>3 7 s TO1RZ\J 7HVJVZb3v"\\Q/K(RRD"L8#vq=,"[>=XS 3<0XR; ^1|8D/`D 6CXo EUD8Tn8>" 5J6U? <):-3PD4B@%zT:w?R)B#)J 2@S!k'.EHQ510H= |-Q9"+ )F6D&(xBd,/:Lv.DRQ>G)#y' 8UK$$#WXV bZOCOY+Y3 ".< -;2$\5X =nRJm/"'*%nU%SwH#6 WCk;h.HrEaU>>:FXsW"G9=5-b2]V!27IIqNF*)D[!W%\P'-`[>C3%3T{3H *ZV 2$DAL.IWPU/9n"Ya#ABP*=*MWI3,pZ4FmLtCH( JP8ZJ0R=o7$>9l-CIC=(t bY)&KU90B\b|A_-K '>H1 F<Cn[&LUZ= 45HN>.Q2V%;)UMCP.TW&T% m>Z.E X'f ;;b:@;@%rz4rD?!OO52 U/ K~Hv+\'"8h+4i4JWWAM .E< rZW]  U"R%Ak2,YNE714?5 ]l3[?C2 \Si?WE|U j\rQ"O'G,NV'>+ P8!<=<c yO?dNFKZ =Eo&,1 #1!YJDV,DF IAP)U L"-B: [JT\  H#4B*?IF:7PA ""KmT%iVA;%BF< 7xS0l.$V:QI`NA?@6!\IX^* p:X6C% VNRZ9BjXI  Y6[.]4$\ Jx "HBHYKT0(AQO;OM R:Bf0$V[0GLSU~@T,lF(v L+G=#F3Ma2 Np`<XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXI^]+^]  Lxo( " P h^  ooo$o\__gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizePyArg_ParseTupleAndKeywordsPyExc_ValueErrorPyErr_SetStringPyExc_TypeError_Py_DeallocPyEval_SaveThread_setjmpPyEval_RestoreThreadPyExc_SystemErrorPy_BuildValuePyInit__superluPyImport_ImportModulePyObject_GetAttrStringPyCapsule_TypePyCapsule_GetPointerPyType_ReadyPyModule_Create2PyModule_GetDictPyDict_SetItemStringPyExc_ModuleNotFoundErrorPyErr_ExceptionMatchesPyErr_PrintPyExc_ImportErrorPyErr_ClearPyExc_RuntimeErrorPyErr_FormatPyThreadState_GetDictPyDict_GetItemString_PyObject_NewPyDict_NewPyErr_NoMemoryPyLong_AsVoidPtrfreePyDict_NextPyObject_FreeabortPyGILState_EnsurePyGILState_ReleaselongjmpmallocPyLong_FromVoidPtr_Py_NoneStructPyDict_SetItemPyErr_FetchPyDict_DelItemPyErr_Restore__ctype_tolower_loc__ctype_b_loc_Py_TrueStruct_Py_FalseStructPyLong_AsLongPyErr_OccurredPyFloat_AsDoublePyUnicode_AsASCIIStringPyObject_CallMethodPySequence_CheckPySequence_SizePyType_IsSubtypePyObject_CallFunctionmemcpyPyTuple_Newpowsprintfstderrfwritefprintfputcharstdoutfflushmemsetsqrtexitexpsincossqrtfgettimeofdayfputsscipy_caxpy_scipy_ccopy_scipy_cgbmv_scipy_cgemm_scipy_cgemv_scipy_cgerc_scipy_cgeru_scipy_chbmv_scipy_chemm_scipy_chemv_scipy_cher_scipy_cher2_scipy_cher2k_scipy_cherk_scipy_chpmv_scipy_chpr_scipy_chpr2_scipy_crotg_scipy_cscal_scipy_csrot_scipy_csscal_scipy_cswap_scipy_csymm_scipy_csyr2k_scipy_csyrk_scipy_ctbmv_scipy_ctbsv_scipy_ctpmv_scipy_ctpsv_scipy_ctrmm_scipy_ctrmv_scipy_ctrsm_scipy_ctrsv_scipy_dasum_scipy_daxpy_scipy_dcabs1_scipy_dcopy_scipy_ddot_scipy_dgbmv_scipy_dgemm_scipy_dgemv_scipy_dger_scipy_dnrm2_scipy_drot_scipy_drotg_scipy_drotm_scipy_drotmg_scipy_dsbmv_scipy_dscal_scipy_dsdot_scipy_dspmv_scipy_dspr_scipy_dspr2_scipy_dswap_scipy_dsymm_scipy_dsymv_scipy_dsyr_scipy_dsyr2_scipy_dsyr2k_scipy_dsyrk_scipy_dtbmv_scipy_dtbsv_scipy_dtpmv_scipy_dtpsv_scipy_dtrmm_scipy_dtrmv_scipy_dtrsm_scipy_dtrsv_scipy_dzasum_scipy_dznrm2_scipy_icamax_scipy_idamax_scipy_isamax_scipy_izamax_scipy_lsame_scipy_sasum_scipy_saxpy_scipy_scasum_scipy_scnrm2_scipy_scopy_scipy_sdot_scipy_sdsdot_scipy_sgbmv_scipy_sgemm_scipy_sgemv_scipy_sger_scipy_snrm2_scipy_srot_scipy_srotg_scipy_srotm_scipy_srotmg_scipy_ssbmv_scipy_sscal_scipy_sspmv_scipy_sspr_scipy_sspr2_scipy_sswap_scipy_ssymm_scipy_ssymv_scipy_ssyr_scipy_ssyr2_scipy_ssyr2k_scipy_ssyrk_scipy_stbmv_scipy_stbsv_scipy_stpmv_scipy_stpsv_scipy_strmm_scipy_strmv_scipy_strsm_scipy_strsv_scipy_zaxpy_scipy_zcopy_scipy_zdrot_scipy_zdscal_scipy_zgbmv_scipy_zgemm_scipy_zgemv_scipy_zgerc_scipy_zgeru_scipy_zhbmv_scipy_zhemm_scipy_zhemv_scipy_zher_scipy_zher2_scipy_zher2k_scipy_zherk_scipy_zhpmv_scipy_zhpr_scipy_zhpr2_scipy_zrotg_scipy_zscal_scipy_zswap_scipy_zsymm_scipy_zsyr2k_scipy_zsyrk_scipy_ztbmv_scipy_ztbsv_scipy_ztpmv_scipy_ztpsv_scipy_ztrmm_scipy_ztrmv_scipy_ztrsm_scipy_ztrsv_scipy_cbbcsd_scipy_cbdsqr_scipy_cgbbrd_scipy_cgbcon_scipy_cgbequ_scipy_cgbequb_scipy_cgbrfs_scipy_cgbsv_scipy_cgbsvx_scipy_cgbtf2_scipy_cgbtrf_scipy_cgbtrs_scipy_cgebak_scipy_cgebal_scipy_cgebd2_scipy_cgebrd_scipy_cgecon_scipy_cgeequ_scipy_cgeequb_scipy_cgees_scipy_cgeesx_scipy_cgeev_scipy_cgeevx_scipy_cgehd2_scipy_cgehrd_scipy_cgelq2_scipy_cgelqf_scipy_cgels_scipy_cgelsd_scipy_cgelss_scipy_cgelsy_scipy_cgemqrt_scipy_cgeql2_scipy_cgeqlf_scipy_cgeqp3_scipy_cgeqr2_scipy_cgeqr2p_scipy_cgeqrf_scipy_cgeqrfp_scipy_cgeqrt_scipy_cgeqrt2_scipy_cgeqrt3_scipy_cgerfs_scipy_cgerq2_scipy_cgerqf_scipy_cgesc2_scipy_cgesdd_scipy_cgesv_scipy_cgesvd_scipy_cgesvx_scipy_cgetc2_scipy_cgetf2_scipy_cgetrf_scipy_cgetri_scipy_cgetrs_scipy_cggbak_scipy_cggbal_scipy_cgges_scipy_cggesx_scipy_cggev_scipy_cggevx_scipy_cggglm_scipy_cgghrd_scipy_cgglse_scipy_cggqrf_scipy_cggrqf_scipy_cgtcon_scipy_cgtrfs_scipy_cgtsv_scipy_cgtsvx_scipy_cgttrf_scipy_cgttrs_scipy_cgtts2_scipy_chbev_scipy_chbevd_scipy_chbevx_scipy_chbgst_scipy_chbgv_scipy_chbgvd_scipy_chbgvx_scipy_chbtrd_scipy_checon_scipy_cheequb_scipy_cheev_scipy_cheevd_scipy_cheevr_scipy_cheevx_scipy_chegs2_scipy_chegst_scipy_chegv_scipy_chegvd_scipy_chegvx_scipy_cherfs_scipy_chesv_scipy_chesvx_scipy_cheswapr_scipy_chetd2_scipy_chetf2_scipy_chetrd_scipy_chetrf_scipy_chetri_scipy_chetri2_scipy_chetri2x_scipy_chetrs_scipy_chetrs2_scipy_chfrk_scipy_chgeqz_scipy_chla_transtype_scipy_chpcon_scipy_chpev_scipy_chpevd_scipy_chpevx_scipy_chpgst_scipy_chpgv_scipy_chpgvd_scipy_chpgvx_scipy_chprfs_scipy_chpsv_scipy_chpsvx_scipy_chptrd_scipy_chptrf_scipy_chptri_scipy_chptrs_scipy_chsein_scipy_chseqr_scipy_clabrd_scipy_clacgv_scipy_clacn2_scipy_clacon_scipy_clacp2_scipy_clacpy_scipy_clacrm_scipy_clacrt_scipy_claed0_scipy_claed7_scipy_claed8_scipy_claein_scipy_claesy_scipy_claev2_scipy_clag2z_scipy_clags2_scipy_clagtm_scipy_clahef_scipy_clahqr_scipy_clahr2_scipy_claic1_scipy_clals0_scipy_clalsa_scipy_clalsd_scipy_clangb_scipy_clange_scipy_clangt_scipy_clanhb_scipy_clanhe_scipy_clanhf_scipy_clanhp_scipy_clanhs_scipy_clanht_scipy_clansb_scipy_clansp_scipy_clansy_scipy_clantb_scipy_clantp_scipy_clantr_scipy_clapll_scipy_clapmr_scipy_clapmt_scipy_claqgb_scipy_claqge_scipy_claqhb_scipy_claqhe_scipy_claqhp_scipy_claqp2_scipy_claqps_scipy_claqr0_scipy_claqr1_scipy_claqr2_scipy_claqr3_scipy_claqr4_scipy_claqr5_scipy_claqsb_scipy_claqsp_scipy_claqsy_scipy_clar1v_scipy_clar2v_scipy_clarcm_scipy_clarf_scipy_clarfb_scipy_clarfg_scipy_clarfgp_scipy_clarft_scipy_clarfx_scipy_clargv_scipy_clarnv_scipy_clarrv_scipy_clartg_scipy_clartv_scipy_clarz_scipy_clarzb_scipy_clarzt_scipy_clascl_scipy_claset_scipy_clasr_scipy_classq_scipy_claswp_scipy_clasyf_scipy_clatbs_scipy_clatdf_scipy_clatps_scipy_clatrd_scipy_clatrs_scipy_clatrz_scipy_clauu2_scipy_clauum_scipy_cpbcon_scipy_cpbequ_scipy_cpbrfs_scipy_cpbstf_scipy_cpbsv_scipy_cpbsvx_scipy_cpbtf2_scipy_cpbtrf_scipy_cpbtrs_scipy_cpftrf_scipy_cpftri_scipy_cpftrs_scipy_cpocon_scipy_cpoequ_scipy_cpoequb_scipy_cporfs_scipy_cposv_scipy_cposvx_scipy_cpotf2_scipy_cpotrf_scipy_cpotri_scipy_cpotrs_scipy_cppcon_scipy_cppequ_scipy_cpprfs_scipy_cppsv_scipy_cppsvx_scipy_cpptrf_scipy_cpptri_scipy_cpptrs_scipy_cpstf2_scipy_cpstrf_scipy_cptcon_scipy_cpteqr_scipy_cptrfs_scipy_cptsv_scipy_cptsvx_scipy_cpttrf_scipy_cpttrs_scipy_cptts2_scipy_crot_scipy_cspcon_scipy_cspmv_scipy_cspr_scipy_csprfs_scipy_cspsv_scipy_cspsvx_scipy_csptrf_scipy_csptri_scipy_csptrs_scipy_csrscl_scipy_cstedc_scipy_cstegr_scipy_cstein_scipy_cstemr_scipy_csteqr_scipy_csycon_scipy_csyconv_scipy_csyequb_scipy_csymv_scipy_csyr_scipy_csyrfs_scipy_csysv_scipy_csysvx_scipy_csyswapr_scipy_csytf2_scipy_csytrf_scipy_csytri_scipy_csytri2_scipy_csytri2x_scipy_csytrs_scipy_csytrs2_scipy_ctbcon_scipy_ctbrfs_scipy_ctbtrs_scipy_ctfsm_scipy_ctftri_scipy_ctfttp_scipy_ctfttr_scipy_ctgevc_scipy_ctgex2_scipy_ctgexc_scipy_ctgsen_scipy_ctgsja_scipy_ctgsna_scipy_ctgsy2_scipy_ctgsyl_scipy_ctpcon_scipy_ctpmqrt_scipy_ctpqrt_scipy_ctpqrt2_scipy_ctprfb_scipy_ctprfs_scipy_ctptri_scipy_ctptrs_scipy_ctpttf_scipy_ctpttr_scipy_ctrcon_scipy_ctrevc_scipy_ctrexc_scipy_ctrrfs_scipy_ctrsen_scipy_ctrsna_scipy_ctrsyl_scipy_ctrti2_scipy_ctrtri_scipy_ctrtrs_scipy_ctrttf_scipy_ctrttp_scipy_ctzrzf_scipy_cunbdb_scipy_cuncsd_scipy_cung2l_scipy_cung2r_scipy_cungbr_scipy_cunghr_scipy_cungl2_scipy_cunglq_scipy_cungql_scipy_cungqr_scipy_cungr2_scipy_cungrq_scipy_cungtr_scipy_cunm2l_scipy_cunm2r_scipy_cunmbr_scipy_cunmhr_scipy_cunml2_scipy_cunmlq_scipy_cunmql_scipy_cunmqr_scipy_cunmr2_scipy_cunmr3_scipy_cunmrq_scipy_cunmrz_scipy_cunmtr_scipy_cupgtr_scipy_cupmtr_scipy_dbbcsd_scipy_dbdsdc_scipy_dbdsqr_scipy_ddisna_scipy_dgbbrd_scipy_dgbcon_scipy_dgbequ_scipy_dgbequb_scipy_dgbrfs_scipy_dgbsv_scipy_dgbsvx_scipy_dgbtf2_scipy_dgbtrf_scipy_dgbtrs_scipy_dgebak_scipy_dgebal_scipy_dgebd2_scipy_dgebrd_scipy_dgecon_scipy_dgeequ_scipy_dgeequb_scipy_dgees_scipy_dgeesx_scipy_dgeev_scipy_dgeevx_scipy_dgehd2_scipy_dgehrd_scipy_dgejsv_scipy_dgelq2_scipy_dgelqf_scipy_dgels_scipy_dgelsd_scipy_dgelss_scipy_dgelsy_scipy_dgemqrt_scipy_dgeql2_scipy_dgeqlf_scipy_dgeqp3_scipy_dgeqr2_scipy_dgeqr2p_scipy_dgeqrf_scipy_dgeqrfp_scipy_dgeqrt_scipy_dgeqrt2_scipy_dgeqrt3_scipy_dgerfs_scipy_dgerq2_scipy_dgerqf_scipy_dgesc2_scipy_dgesdd_scipy_dgesv_scipy_dgesvd_scipy_dgesvj_scipy_dgesvx_scipy_dgetc2_scipy_dgetf2_scipy_dgetrf_scipy_dgetri_scipy_dgetrs_scipy_dggbak_scipy_dggbal_scipy_dgges_scipy_dggesx_scipy_dggev_scipy_dggevx_scipy_dggglm_scipy_dgghrd_scipy_dgglse_scipy_dggqrf_scipy_dggrqf_scipy_dgsvj0_scipy_dgsvj1_scipy_dgtcon_scipy_dgtrfs_scipy_dgtsv_scipy_dgtsvx_scipy_dgttrf_scipy_dgttrs_scipy_dgtts2_scipy_dhgeqz_scipy_dhsein_scipy_dhseqr_scipy_disnan_scipy_dlabad_scipy_dlabrd_scipy_dlacn2_scipy_dlacon_scipy_dlacpy_scipy_dladiv_scipy_dlae2_scipy_dlaebz_scipy_dlaed0_scipy_dlaed1_scipy_dlaed2_scipy_dlaed3_scipy_dlaed4_scipy_dlaed5_scipy_dlaed6_scipy_dlaed7_scipy_dlaed8_scipy_dlaed9_scipy_dlaeda_scipy_dlaein_scipy_dlaev2_scipy_dlaexc_scipy_dlag2_scipy_dlag2s_scipy_dlags2_scipy_dlagtf_scipy_dlagtm_scipy_dlagts_scipy_dlagv2_scipy_dlahqr_scipy_dlahr2_scipy_dlaic1_scipy_dlaln2_scipy_dlals0_scipy_dlalsa_scipy_dlalsd_scipy_dlamch_scipy_dlamrg_scipy_dlaneg_scipy_dlangb_scipy_dlange_scipy_dlangt_scipy_dlanhs_scipy_dlansb_scipy_dlansf_scipy_dlansp_scipy_dlanst_scipy_dlansy_scipy_dlantb_scipy_dlantp_scipy_dlantr_scipy_dlanv2_scipy_dlapll_scipy_dlapmr_scipy_dlapmt_scipy_dlapy2_scipy_dlapy3_scipy_dlaqgb_scipy_dlaqge_scipy_dlaqp2_scipy_dlaqps_scipy_dlaqr0_scipy_dlaqr1_scipy_dlaqr2_scipy_dlaqr3_scipy_dlaqr4_scipy_dlaqr5_scipy_dlaqsb_scipy_dlaqsp_scipy_dlaqsy_scipy_dlaqtr_scipy_dlar1v_scipy_dlar2v_scipy_dlarf_scipy_dlarfb_scipy_dlarfg_scipy_dlarfgp_scipy_dlarft_scipy_dlarfx_scipy_dlargv_scipy_dlarnv_scipy_dlarra_scipy_dlarrb_scipy_dlarrc_scipy_dlarrd_scipy_dlarre_scipy_dlarrf_scipy_dlarrj_scipy_dlarrk_scipy_dlarrr_scipy_dlarrv_scipy_dlartg_scipy_dlartgp_scipy_dlartgs_scipy_dlartv_scipy_dlaruv_scipy_dlarz_scipy_dlarzb_scipy_dlarzt_scipy_dlas2_scipy_dlascl_scipy_dlasd0_scipy_dlasd1_scipy_dlasd2_scipy_dlasd3_scipy_dlasd4_scipy_dlasd5_scipy_dlasd6_scipy_dlasd7_scipy_dlasd8_scipy_dlasda_scipy_dlasdq_scipy_dlasdt_scipy_dlaset_scipy_dlasq1_scipy_dlasq2_scipy_dlasq3_scipy_dlasq4_scipy_dlasq6_scipy_dlasr_scipy_dlasrt_scipy_dlassq_scipy_dlasv2_scipy_dlaswp_scipy_dlasy2_scipy_dlasyf_scipy_dlat2s_scipy_dlatbs_scipy_dlatdf_scipy_dlatps_scipy_dlatrd_scipy_dlatrs_scipy_dlatrz_scipy_dlauu2_scipy_dlauum_scipy_dopgtr_scipy_dopmtr_scipy_dorbdb_scipy_dorcsd_scipy_dorg2l_scipy_dorg2r_scipy_dorgbr_scipy_dorghr_scipy_dorgl2_scipy_dorglq_scipy_dorgql_scipy_dorgqr_scipy_dorgr2_scipy_dorgrq_scipy_dorgtr_scipy_dorm2l_scipy_dorm2r_scipy_dormbr_scipy_dormhr_scipy_dorml2_scipy_dormlq_scipy_dormql_scipy_dormqr_scipy_dormr2_scipy_dormr3_scipy_dormrq_scipy_dormrz_scipy_dormtr_scipy_dpbcon_scipy_dpbequ_scipy_dpbrfs_scipy_dpbstf_scipy_dpbsv_scipy_dpbsvx_scipy_dpbtf2_scipy_dpbtrf_scipy_dpbtrs_scipy_dpftrf_scipy_dpftri_scipy_dpftrs_scipy_dpocon_scipy_dpoequ_scipy_dpoequb_scipy_dporfs_scipy_dposv_scipy_dposvx_scipy_dpotf2_scipy_dpotrf_scipy_dpotri_scipy_dpotrs_scipy_dppcon_scipy_dppequ_scipy_dpprfs_scipy_dppsv_scipy_dppsvx_scipy_dpptrf_scipy_dpptri_scipy_dpptrs_scipy_dpstf2_scipy_dpstrf_scipy_dptcon_scipy_dpteqr_scipy_dptrfs_scipy_dptsv_scipy_dptsvx_scipy_dpttrf_scipy_dpttrs_scipy_dptts2_scipy_drscl_scipy_dsbev_scipy_dsbevd_scipy_dsbevx_scipy_dsbgst_scipy_dsbgv_scipy_dsbgvd_scipy_dsbgvx_scipy_dsbtrd_scipy_dsfrk_scipy_dsgesv_scipy_dspcon_scipy_dspev_scipy_dspevd_scipy_dspevx_scipy_dspgst_scipy_dspgv_scipy_dspgvd_scipy_dspgvx_scipy_dsposv_scipy_dsprfs_scipy_dspsv_scipy_dspsvx_scipy_dsptrd_scipy_dsptrf_scipy_dsptri_scipy_dsptrs_scipy_dstebz_scipy_dstedc_scipy_dstegr_scipy_dstein_scipy_dstemr_scipy_dsteqr_scipy_dsterf_scipy_dstev_scipy_dstevd_scipy_dstevr_scipy_dstevx_scipy_dsycon_scipy_dsyconv_scipy_dsyequb_scipy_dsyev_scipy_dsyevd_scipy_dsyevr_scipy_dsyevx_scipy_dsygs2_scipy_dsygst_scipy_dsygv_scipy_dsygvd_scipy_dsygvx_scipy_dsyrfs_scipy_dsysv_scipy_dsysvx_scipy_dsyswapr_scipy_dsytd2_scipy_dsytf2_scipy_dsytrd_scipy_dsytrf_scipy_dsytri_scipy_dsytri2_scipy_dsytri2x_scipy_dsytrs_scipy_dsytrs2_scipy_dtbcon_scipy_dtbrfs_scipy_dtbtrs_scipy_dtfsm_scipy_dtftri_scipy_dtfttp_scipy_dtfttr_scipy_dtgevc_scipy_dtgex2_scipy_dtgexc_scipy_dtgsen_scipy_dtgsja_scipy_dtgsna_scipy_dtgsy2_scipy_dtgsyl_scipy_dtpcon_scipy_dtpmqrt_scipy_dtpqrt_scipy_dtpqrt2_scipy_dtprfb_scipy_dtprfs_scipy_dtptri_scipy_dtptrs_scipy_dtpttf_scipy_dtpttr_scipy_dtrcon_scipy_dtrevc_scipy_dtrexc_scipy_dtrrfs_scipy_dtrsen_scipy_dtrsna_scipy_dtrsyl_scipy_dtrti2_scipy_dtrtri_scipy_dtrtrs_scipy_dtrttf_scipy_dtrttp_scipy_dtzrzf_scipy_dzsum1_scipy_icmax1_scipy_ieeeck_scipy_ilaclc_scipy_ilaclr_scipy_iladiag_scipy_iladlc_scipy_iladlr_scipy_ilaprec_scipy_ilaslc_scipy_ilaslr_scipy_ilatrans_scipy_ilauplo_scipy_ilaver_scipy_ilazlc_scipy_ilazlr_scipy_izmax1_scipy_sbbcsd_scipy_sbdsdc_scipy_sbdsqr_scipy_scsum1_scipy_sdisna_scipy_sgbbrd_scipy_sgbcon_scipy_sgbequ_scipy_sgbequb_scipy_sgbrfs_scipy_sgbsv_scipy_sgbsvx_scipy_sgbtf2_scipy_sgbtrf_scipy_sgbtrs_scipy_sgebak_scipy_sgebal_scipy_sgebd2_scipy_sgebrd_scipy_sgecon_scipy_sgeequ_scipy_sgeequb_scipy_sgees_scipy_sgeesx_scipy_sgeev_scipy_sgeevx_scipy_sgehd2_scipy_sgehrd_scipy_sgejsv_scipy_sgelq2_scipy_sgelqf_scipy_sgels_scipy_sgelsd_scipy_sgelss_scipy_sgelsy_scipy_sgemqrt_scipy_sgeql2_scipy_sgeqlf_scipy_sgeqp3_scipy_sgeqr2_scipy_sgeqr2p_scipy_sgeqrf_scipy_sgeqrfp_scipy_sgeqrt_scipy_sgeqrt2_scipy_sgeqrt3_scipy_sgerfs_scipy_sgerq2_scipy_sgerqf_scipy_sgesc2_scipy_sgesdd_scipy_sgesv_scipy_sgesvd_scipy_sgesvj_scipy_sgesvx_scipy_sgetc2_scipy_sgetf2_scipy_sgetrf_scipy_sgetri_scipy_sgetrs_scipy_sggbak_scipy_sggbal_scipy_sgges_scipy_sggesx_scipy_sggev_scipy_sggevx_scipy_sggglm_scipy_sgghrd_scipy_sgglse_scipy_sggqrf_scipy_sggrqf_scipy_sgsvj0_scipy_sgsvj1_scipy_sgtcon_scipy_sgtrfs_scipy_sgtsv_scipy_sgtsvx_scipy_sgttrf_scipy_sgttrs_scipy_sgtts2_scipy_shgeqz_scipy_shsein_scipy_shseqr_scipy_slabad_scipy_slabrd_scipy_slacn2_scipy_slacon_scipy_slacpy_scipy_sladiv_scipy_slae2_scipy_slaebz_scipy_slaed0_scipy_slaed1_scipy_slaed2_scipy_slaed3_scipy_slaed4_scipy_slaed5_scipy_slaed6_scipy_slaed7_scipy_slaed8_scipy_slaed9_scipy_slaeda_scipy_slaein_scipy_slaev2_scipy_slaexc_scipy_slag2_scipy_slag2d_scipy_slags2_scipy_slagtf_scipy_slagtm_scipy_slagts_scipy_slagv2_scipy_slahqr_scipy_slahr2_scipy_slaic1_scipy_slaln2_scipy_slals0_scipy_slalsa_scipy_slalsd_scipy_slamch_scipy_slamrg_scipy_slangb_scipy_slange_scipy_slangt_scipy_slanhs_scipy_slansb_scipy_slansf_scipy_slansp_scipy_slanst_scipy_slansy_scipy_slantb_scipy_slantp_scipy_slantr_scipy_slanv2_scipy_slapll_scipy_slapmr_scipy_slapmt_scipy_slapy2_scipy_slapy3_scipy_slaqgb_scipy_slaqge_scipy_slaqp2_scipy_slaqps_scipy_slaqr0_scipy_slaqr1_scipy_slaqr2_scipy_slaqr3_scipy_slaqr4_scipy_slaqr5_scipy_slaqsb_scipy_slaqsp_scipy_slaqsy_scipy_slaqtr_scipy_slar1v_scipy_slar2v_scipy_slarf_scipy_slarfb_scipy_slarfg_scipy_slarfgp_scipy_slarft_scipy_slarfx_scipy_slargv_scipy_slarnv_scipy_slarra_scipy_slarrb_scipy_slarrc_scipy_slarrd_scipy_slarre_scipy_slarrf_scipy_slarrj_scipy_slarrk_scipy_slarrr_scipy_slarrv_scipy_slartg_scipy_slartgp_scipy_slartgs_scipy_slartv_scipy_slaruv_scipy_slarz_scipy_slarzb_scipy_slarzt_scipy_slas2_scipy_slascl_scipy_slasd0_scipy_slasd1_scipy_slasd2_scipy_slasd3_scipy_slasd4_scipy_slasd5_scipy_slasd6_scipy_slasd7_scipy_slasd8_scipy_slasda_scipy_slasdq_scipy_slasdt_scipy_slaset_scipy_slasq1_scipy_slasq2_scipy_slasq3_scipy_slasq4_scipy_slasq6_scipy_slasr_scipy_slasrt_scipy_slassq_scipy_slasv2_scipy_slaswp_scipy_slasy2_scipy_slasyf_scipy_slatbs_scipy_slatdf_scipy_slatps_scipy_slatrd_scipy_slatrs_scipy_slatrz_scipy_slauu2_scipy_slauum_scipy_sopgtr_scipy_sopmtr_scipy_sorbdb_scipy_sorcsd_scipy_sorg2l_scipy_sorg2r_scipy_sorgbr_scipy_sorghr_scipy_sorgl2_scipy_sorglq_scipy_sorgql_scipy_sorgqr_scipy_sorgr2_scipy_sorgrq_scipy_sorgtr_scipy_sorm2l_scipy_sorm2r_scipy_sormbr_scipy_sormhr_scipy_sorml2_scipy_sormlq_scipy_sormql_scipy_sormqr_scipy_sormr2_scipy_sormr3_scipy_sormrq_scipy_sormrz_scipy_sormtr_scipy_spbcon_scipy_spbequ_scipy_spbrfs_scipy_spbstf_scipy_spbsv_scipy_spbsvx_scipy_spbtf2_scipy_spbtrf_scipy_spbtrs_scipy_spftrf_scipy_spftri_scipy_spftrs_scipy_spocon_scipy_spoequ_scipy_spoequb_scipy_sporfs_scipy_sposv_scipy_sposvx_scipy_spotf2_scipy_spotrf_scipy_spotri_scipy_spotrs_scipy_sppcon_scipy_sppequ_scipy_spprfs_scipy_sppsv_scipy_sppsvx_scipy_spptrf_scipy_spptri_scipy_spptrs_scipy_spstf2_scipy_spstrf_scipy_sptcon_scipy_spteqr_scipy_sptrfs_scipy_sptsv_scipy_sptsvx_scipy_spttrf_scipy_spttrs_scipy_sptts2_scipy_srscl_scipy_ssbev_scipy_ssbevd_scipy_ssbevx_scipy_ssbgst_scipy_ssbgv_scipy_ssbgvd_scipy_ssbgvx_scipy_ssbtrd_scipy_ssfrk_scipy_sspcon_scipy_sspev_scipy_sspevd_scipy_sspevx_scipy_sspgst_scipy_sspgv_scipy_sspgvd_scipy_sspgvx_scipy_ssprfs_scipy_sspsv_scipy_sspsvx_scipy_ssptrd_scipy_ssptrf_scipy_ssptri_scipy_ssptrs_scipy_sstebz_scipy_sstedc_scipy_sstegr_scipy_sstein_scipy_sstemr_scipy_ssteqr_scipy_ssterf_scipy_sstev_scipy_sstevd_scipy_sstevr_scipy_sstevx_scipy_ssycon_scipy_ssyconv_scipy_ssyequb_scipy_ssyev_scipy_ssyevd_scipy_ssyevr_scipy_ssyevx_scipy_ssygs2_scipy_ssygst_scipy_ssygv_scipy_ssygvd_scipy_ssygvx_scipy_ssyrfs_scipy_ssysv_scipy_ssysvx_scipy_ssyswapr_scipy_ssytd2_scipy_ssytf2_scipy_ssytrd_scipy_ssytrf_scipy_ssytri_scipy_ssytri2_scipy_ssytri2x_scipy_ssytrs_scipy_ssytrs2_scipy_stbcon_scipy_stbrfs_scipy_stbtrs_scipy_stfsm_scipy_stftri_scipy_stfttp_scipy_stfttr_scipy_stgevc_scipy_stgex2_scipy_stgexc_scipy_stgsen_scipy_stgsja_scipy_stgsna_scipy_stgsy2_scipy_stgsyl_scipy_stpcon_scipy_stpmqrt_scipy_stpqrt_scipy_stpqrt2_scipy_stprfb_scipy_stprfs_scipy_stptri_scipy_stptrs_scipy_stpttf_scipy_stpttr_scipy_strcon_scipy_strevc_scipy_strexc_scipy_strrfs_scipy_strsen_scipy_strsna_scipy_strsyl_scipy_strti2_scipy_strtri_scipy_strtrs_scipy_strttf_scipy_strttp_scipy_stzrzf_scipy_xerbla_array_scipy_zbbcsd_scipy_zbdsqr_scipy_zcgesv_scipy_zcposv_scipy_zdrscl_scipy_zgbbrd_scipy_zgbcon_scipy_zgbequ_scipy_zgbequb_scipy_zgbrfs_scipy_zgbsv_scipy_zgbsvx_scipy_zgbtf2_scipy_zgbtrf_scipy_zgbtrs_scipy_zgebak_scipy_zgebal_scipy_zgebd2_scipy_zgebrd_scipy_zgecon_scipy_zgeequ_scipy_zgeequb_scipy_zgees_scipy_zgeesx_scipy_zgeev_scipy_zgeevx_scipy_zgehd2_scipy_zgehrd_scipy_zgelq2_scipy_zgelqf_scipy_zgels_scipy_zgelsd_scipy_zgelss_scipy_zgelsy_scipy_zgemqrt_scipy_zgeql2_scipy_zgeqlf_scipy_zgeqp3_scipy_zgeqr2_scipy_zgeqr2p_scipy_zgeqrf_scipy_zgeqrfp_scipy_zgeqrt_scipy_zgeqrt2_scipy_zgeqrt3_scipy_zgerfs_scipy_zgerq2_scipy_zgerqf_scipy_zgesc2_scipy_zgesdd_scipy_zgesv_scipy_zgesvd_scipy_zgesvx_scipy_zgetc2_scipy_zgetf2_scipy_zgetrf_scipy_zgetri_scipy_zgetrs_scipy_zggbak_scipy_zggbal_scipy_zgges_scipy_zggesx_scipy_zggev_scipy_zggevx_scipy_zggglm_scipy_zgghrd_scipy_zgglse_scipy_zggqrf_scipy_zggrqf_scipy_zgtcon_scipy_zgtrfs_scipy_zgtsv_scipy_zgtsvx_scipy_zgttrf_scipy_zgttrs_scipy_zgtts2_scipy_zhbev_scipy_zhbevd_scipy_zhbevx_scipy_zhbgst_scipy_zhbgv_scipy_zhbgvd_scipy_zhbgvx_scipy_zhbtrd_scipy_zhecon_scipy_zheequb_scipy_zheev_scipy_zheevd_scipy_zheevr_scipy_zheevx_scipy_zhegs2_scipy_zhegst_scipy_zhegv_scipy_zhegvd_scipy_zhegvx_scipy_zherfs_scipy_zhesv_scipy_zhesvx_scipy_zheswapr_scipy_zhetd2_scipy_zhetf2_scipy_zhetrd_scipy_zhetrf_scipy_zhetri_scipy_zhetri2_scipy_zhetri2x_scipy_zhetrs_scipy_zhetrs2_scipy_zhfrk_scipy_zhgeqz_scipy_zhpcon_scipy_zhpev_scipy_zhpevd_scipy_zhpevx_scipy_zhpgst_scipy_zhpgv_scipy_zhpgvd_scipy_zhpgvx_scipy_zhprfs_scipy_zhpsv_scipy_zhpsvx_scipy_zhptrd_scipy_zhptrf_scipy_zhptri_scipy_zhptrs_scipy_zhsein_scipy_zhseqr_scipy_zlabrd_scipy_zlacgv_scipy_zlacn2_scipy_zlacon_scipy_zlacp2_scipy_zlacpy_scipy_zlacrm_scipy_zlacrt_scipy_zlaed0_scipy_zlaed7_scipy_zlaed8_scipy_zlaein_scipy_zlaesy_scipy_zlaev2_scipy_zlag2c_scipy_zlags2_scipy_zlagtm_scipy_zlahef_scipy_zlahqr_scipy_zlahr2_scipy_zlaic1_scipy_zlals0_scipy_zlalsa_scipy_zlalsd_scipy_zlangb_scipy_zlange_scipy_zlangt_scipy_zlanhb_scipy_zlanhe_scipy_zlanhf_scipy_zlanhp_scipy_zlanhs_scipy_zlanht_scipy_zlansb_scipy_zlansp_scipy_zlansy_scipy_zlantb_scipy_zlantp_scipy_zlantr_scipy_zlapll_scipy_zlapmr_scipy_zlapmt_scipy_zlaqgb_scipy_zlaqge_scipy_zlaqhb_scipy_zlaqhe_scipy_zlaqhp_scipy_zlaqp2_scipy_zlaqps_scipy_zlaqr0_scipy_zlaqr1_scipy_zlaqr2_scipy_zlaqr3_scipy_zlaqr4_scipy_zlaqr5_scipy_zlaqsb_scipy_zlaqsp_scipy_zlaqsy_scipy_zlar1v_scipy_zlar2v_scipy_zlarcm_scipy_zlarf_scipy_zlarfb_scipy_zlarfg_scipy_zlarfgp_scipy_zlarft_scipy_zlarfx_scipy_zlargv_scipy_zlarnv_scipy_zlarrv_scipy_zlartg_scipy_zlartv_scipy_zlarz_scipy_zlarzb_scipy_zlarzt_scipy_zlascl_scipy_zlaset_scipy_zlasr_scipy_zlassq_scipy_zlaswp_scipy_zlasyf_scipy_zlat2c_scipy_zlatbs_scipy_zlatdf_scipy_zlatps_scipy_zlatrd_scipy_zlatrs_scipy_zlatrz_scipy_zlauu2_scipy_zlauum_scipy_zpbcon_scipy_zpbequ_scipy_zpbrfs_scipy_zpbstf_scipy_zpbsv_scipy_zpbsvx_scipy_zpbtf2_scipy_zpbtrf_scipy_zpbtrs_scipy_zpftrf_scipy_zpftri_scipy_zpftrs_scipy_zpocon_scipy_zpoequ_scipy_zpoequb_scipy_zporfs_scipy_zposv_scipy_zposvx_scipy_zpotf2_scipy_zpotrf_scipy_zpotri_scipy_zpotrs_scipy_zppcon_scipy_zppequ_scipy_zpprfs_scipy_zppsv_scipy_zppsvx_scipy_zpptrf_scipy_zpptri_scipy_zpptrs_scipy_zpstf2_scipy_zpstrf_scipy_zptcon_scipy_zpteqr_scipy_zptrfs_scipy_zptsv_scipy_zptsvx_scipy_zpttrf_scipy_zpttrs_scipy_zptts2_scipy_zrot_scipy_zspcon_scipy_zspmv_scipy_zspr_scipy_zsprfs_scipy_zspsv_scipy_zspsvx_scipy_zsptrf_scipy_zsptri_scipy_zsptrs_scipy_zstedc_scipy_zstegr_scipy_zstein_scipy_zstemr_scipy_zsteqr_scipy_zsycon_scipy_zsyconv_scipy_zsyequb_scipy_zsymv_scipy_zsyr_scipy_zsyrfs_scipy_zsysv_scipy_zsysvx_scipy_zsyswapr_scipy_zsytf2_scipy_zsytrf_scipy_zsytri_scipy_zsytri2_scipy_zsytri2x_scipy_zsytrs_scipy_zsytrs2_scipy_ztbcon_scipy_ztbrfs_scipy_ztbtrs_scipy_ztfsm_scipy_ztftri_scipy_ztfttp_scipy_ztfttr_scipy_ztgevc_scipy_ztgex2_scipy_ztgexc_scipy_ztgsen_scipy_ztgsja_scipy_ztgsna_scipy_ztgsy2_scipy_ztgsyl_scipy_ztpcon_scipy_ztpmqrt_scipy_ztpqrt_scipy_ztpqrt2_scipy_ztprfb_scipy_ztprfs_scipy_ztptri_scipy_ztptrs_scipy_ztpttf_scipy_ztpttr_scipy_ztrcon_scipy_ztrevc_scipy_ztrexc_scipy_ztrrfs_scipy_ztrsen_scipy_ztrsna_scipy_ztrsyl_scipy_ztrti2_scipy_ztrtri_scipy_ztrtrs_scipy_ztrttf_scipy_ztrttp_scipy_ztzrzf_scipy_zunbdb_scipy_zuncsd_scipy_zung2l_scipy_zung2r_scipy_zungbr_scipy_zunghr_scipy_zungl2_scipy_zunglq_scipy_zungql_scipy_zungqr_scipy_zungr2_scipy_zungrq_scipy_zungtr_scipy_zunm2l_scipy_zunm2r_scipy_zunmbr_scipy_zunmhr_scipy_zunml2_scipy_zunmlq_scipy_zunmql_scipy_zunmqr_scipy_zunmr2_scipy_zunmr3_scipy_zunmrq_scipy_zunmrz_scipy_zunmtr_scipy_zupgtr_scipy_zupmtr_libm.so.6libscipy_openblas.solibc.so.6GLIBC_2.14GLIBC_2.3GLIBC_2.2.5/opt/_internal/cpython-3.12.11/lib/python3.12/site-packages/scipy_openblas32/liblibscipy_openblas-b75cc656.so$ORIGIN/../../../../scipy.libs