AC1024!!   h@* ߦ< >$^ G޳MB>Z}9.]| O; ۮ2?P`x6I2}I܌Olk0;""YNFjs/ghJJWhvPVbRdARdARdAkRdAkRdAW_ώ[ Xgwein!Uz%{u%CVRdAFmAFmARdARdAtI0\J%m6((W?D+ P7( ("  0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!0(!ڒ+b5bBFmAEmAEmAFmAFmAʲ |(AppInfoDataList%דI(orAutodesk DWG. This file is a Trusted DWG last saved by an Autodesk application or Autodesk licensed application.QβD;D<ProductInformation name =\"AutoCAD\" build_version=\"S.74.0.0(x64)\" registry_version=\"24.1\" install_id_string=\"ACAD-5101:407\" registry_localeID=\"1031\" git_commit_id=\"19f8af2bbffaf094d59b740ac7b4585e2ac92c94OKmA NmA+NmAKmAKmAL =ɼS8C!ʖ*g;<SҍAppInfoDataList%דI(orAutodesk DWG. This file is a Trusted DWG last saved by an Autodesk application or Autodesk licensed application.Oh+'<prop_set fmt_id="{f29f85e0-4ff9-1068-ab91-08002b27b3d9}"><prop id="10"><datetime>2022-07-04T12:57:59</datetime></prop><prop id="8"><string>gwein</string></prop><prop id="258"><string>AutoCAD 2022</string></prop><prop id="259"><string>S.74.0.0</string></prop></prop_set>QβD;D<ProductInformation name =\"AutoCAD\" build_version=\"S.74.0.0(x64)\" registry_version=\"24.1\" install_id_string=\"ACAD-5101:407\" registry_localeID=\"1031\" git_commit_id=\"19f8af2bbffaf094d59b740ac7b4585e2ac92c94IMmAwMmA+MmAMmAMmAIL0 /)#H,LmA=]mAk]mA+LmA+LmAnR 8 @jN5HHHHL@GkT @P`PTF_PBTE e c   # t C"ґ4`p@P\\p$@C!^zWQ Wqf ȒDC"4^P+5=/ Dz1 #p(Dp |4P`P| <0T48|$8<|l,<08\w(UP|@h 8p + 6&$q` sq^oߍ\O ~ÎE GX%  *`j'`}pedT  Q_Q_\'{" eXh_=Ka~SKͻX7 Ө!K/6 YOК Xy_Z_^__ſ _Uw!~+tWu  2<5`H& y_Z__&\ _.;f V- gU }4TyL hy_[_QC# &* J{iУ}T\(,-Dkߌ&c'/ 1D): ԕ7$G݁$)0!80@4?: H(i*dM-.O(-`ch@dj.쌮mdP"h(*iFFƦf ʀ N&FF$FF@\:ѽw;g,.m ,A!M!T@t`!``p | P .L-lMXe $l<낆d'  v@ Aab!m *_ဠ6@T-,l\l`X6\7l ab!. NnL΁ ,l,m, .nO!.M,AXZh UZJ\4]X^4!| @ `\ YPaP/P93>Q-T6 -̡nL\8T`ejD``P֡Yh&fffffed`aaa `kC FT&F\T/b.]eTcFP;aXS^u! bVaFx5bz@7pFm쬌Ō1YuUtQm]a`]:  TК\R\P.\}!YRPPSTK;=T/T < .XyX&6 5=YRYRYRZaX)^:!5X?ḯ]@d>a5t \m]A x&T*`b}AP-)1TF"VGT33335'i\!`m \؎Pَ,QKX>P7;X;T &.&XTH]<)QQURQa#e4X?#`hl  d l|]OA  h&$\l?"H+b"_h|!PcȎ5 a8U*]J\J  iz\TlaA#V2 `,Xwm\?,2l:| TwiP4d\l^p3\K]7-PX!̮N.\pk"5P.S0X nL-,nN-d hT\@T^@&d "Dh5%@SG`"#&"XP$d# (kb!7uPT X\7Y&(r.%=X`d~Vmaл4 X#8#T d lml h&#`#2- +#Li"< , `8a߉"MPy+2h"t(w#TL4 X:f#|,  =((2&6!hdA#"#Aa#([!2()"L"daiTB4 `xUщ"H+X4"uP -0 "|55 "p#9 & -/52,8h•w#IX] --:8R! O t'",lP*\dS H4ДL[ߞw.'>6'85!"yD$!#|\48 #!hb# '#( ` #m"A*24l$({%eԊ.4, "tmb"6@! < &4"\ W4L5l\dA#\*#`^2()("4P"i.T4("yB` ( h; U ?X9X/( è/7P"P  3#5PW"."X81(!h́M(i*a.8oi"STft1&5D-O&@"z @A>%~ ~e c   # t `$c&b"%j ~ό&k\\ ~r#~&g\B ~j":"x1|: O~h]$r&kXz" ~'rz,~ r 1~Aӈ_)~ ~&ՄU-x#xM x 9~ _&". ~&̐-Ԅ'͐ Ԅ&̐ 1~"%$&)~ ~琉&" ,q ~ $~(~%~*Eku} 4P?: H(i*dM-.O( ~"u:"[ ~pF"`V""&_"X"0S$_"o#tE(_ ~|S\R\S ~x"2؎ ~$ v~)\#t ~.>N$~"z+~p%~ ~   # 3 C S c s US$c&b)~(*<&k"d\8;$m&g\BF 9)#x 6 W$--m'.m~%( 7;_&k"N_V *#-'s9 /_)~f +7#~Y.~1% /W$͐&)~v #- &̐",^$̐#(̐1%u /R$&)~*} -52 T']\,w][PN] -΁XRC$! O!. NnL΁ ,l,m, .nO!.M,AZᅞodSG`XT! -̡nL,l6( ДL[ߞwYrXJ]TkPaaaPy4] QņUQʼnT4` ibYшQeaس4` #m^APTK5l(oeԊTԃ4= \S_ < &45)4&64l\eAY`T^2` )+#liTc )X0iB hB\"XО#X; /( wX%l-\Ub4|#T] dQeTcQ9($;| 0 &$|_X1\( aP#Y" d?( dMP`h"+"4T"$ "T@PD\ ( U ?X ""; /( è/7Rab P#5PPV_ d!h́M(i*a.8\i"'ft1&5D/q&@pl @ADT @P`PtF_PBTE    # 3 C S c s C"4`p@Pw(\p$@C!^zWQ Wqf ȒDVC"4\T(\8+5=/ Dz1 #\B(FDp |4P`P| <0T48|$8<|l,<08\ w(U"@yAh 8t ,;f TzKͻߘӨ!]/6|< ~~ÎE GX%  *`j'`}pedT  Qd_Q_\'{"V _Ww!~.tqX7 su^oߍ YOК Xy_[_*ru_f _bd hWQx4 2<5`H& y]Z]&\{"v RT$5Ka~Rz,#I u4TyL hy_[_َC#&Ž*J{iУ}T\( -D&"&qc'/ 1D): #4Gx,p8?: H(i*dM-.O(-"d4Wh@dj.쌮mdP"h(*iFFƦf ʀ N&FF$FF@\:ѽw;g,.m ,A":# A!M!$|?@#K`"*``p ^ ";"5 !.L-lM(?%FX<낆d'$D(PL%&@l@A#&m -D,",0y.@i6"B\da"@"9l7m"81") D"tYJ"I0]XW=!m "Nha"<#HS P/P93="@T (F&5'6\$lU`/d"@:#(F 4IT[#4F#HI#\PF">lDa\e#tEFP;aXST `/(?F$XތDLa`F5VY΂UtQm]a`Y9 tNTS\-\T*\yŃP#KSTK;<#^T <'4\$X"|(;x"P6:<#8`$``YRYa`\:7J#[h#0["iZa5t hNYpQsAo5h&T `b}A\)2}LP"QC#Y'PBi\!)`G (\؎"&Xi,"X#aP7;#UT &.#(&X\I\<(#V#WTR"ga#e5WT#`hl  d #\S|xT<X&$\l?,k`'LP|!\Ȏ5 `8##W#i  hz#Ql`+|h2 `)WSm\?,2l:Tv$pP4d\hp3\K]7-PY7,jP"J #^5j$_"=#X q5hP^4_ "D*#xh)%"X\$d# (?@#dWT X\:.i/p.%>#f`d~Um h#XY#8#"c d ll"Y+i48 h&#`#2, ,j#L'h ~"9#\#t ~w$~0~L. ? @@aPhx (`(g` @ A LLLLFF%$Ee4$"3 Aq Ah%$R e ( rP zq q DV sP }+ @F%tAk.N @G3(U3T_(gP@T GHHD . I( IHA > IJNH?)fJE JK?@JH :`xXP/@K+`(PqFKjX[?0K?P .K耐 ML?ԙ*MjMGHPHPPjfjPLhn~HLN?tH4j" ` @ T@ ` `  @4U&Pf! `  @ @U<j#V 7 @ oV\P$|   ` T @ UT t  ` \& @\{0XL"Hh1` ` `  @:%,P h"4I @  c0W,R n9@ X:P ~k"%@ @\=` l6l?go9IXL+ ` `gd!lN!H  g 7Id +#ȧ! Ty UadzW`` POTel% @Uil$ >MꁀNN?nO C*  ]ȀQT(php8l \ ! "/!$(/()"+$'*)/d'"*!*/$'#'! ` @*" H`H(`(X#x&& #)'*(!hYr ^jU?d>H`"oBaf@&&\= ")*,&""( P@ ` @h ]< #(Hp8$" =)`%P X$Y#" `~ ""D \vz$Q``\^ #`\$\D"!/)"!'&(')"/" * "\F@ "L@  @"0"\Pp(X   (xhx( *bXja1@!""!Z"!!E!!!]!F!!G! !["!\!2" !^" "9 %U@y!! $ Qd [;@ F r0xh(H@( A A !!!UAV C :`xX#67106/@CTHRCƶ#: Wd Bp  P10K!"2 Q Bp  P10#&@z$H!麄Z)ꚬ*ҶCC? $ Q ::AB 2pxh`P0)D+n V PTd  H d  H l  H `! H@@h! H@p! H`d! H`l! H``" H@"2BRbr"2BRbr/j'C\ 1:2: B)'C]$ 1:4:'C]d 1:5: J'C] 1:8:''C] "1:10J =g'C^$ ")6J1'C^!{20X z"_y3y"y4x hj_$Jy5 ]"_"1:100Z b h4 2` :q 4 lb`$ 8sj*`d \ T"J yi*`! ( Y0lZO:Y*`"%dB1/128" = 1'-0" 8Ya) [6418`0-324 ;]p7-165p=3/7 d6Y-b< \<26mb< \7 *D|<l2Dx;\5 ߑic;T;2x;T5^:*]XcB 11<-aec71-6 Х2Ud8&B 34x 7%ȘX 2  qdq .  k$"D"h(HP10SJ"2 W$| 0(Ņ3D L Y H(0h(f0941!@@  Zx`x@p8(46! ` @ Z0((p60:+4:" 2329 @  8xi6; @( 8( 4::29'33!i "(> X;@ Zx"B;x00)40222"*` "(8   \ `r`"*x08l04Xd527!*P@ X@">*h\vP}|$ D <@Ĉ84(,3>BBSe`0@ 0`P@  P0@`P 0` "@P$@d333333?@@ 0A@` @PP! @P@P$0 (  27679!407P ]PLLR2@  !(@P$@3? @1# !p 0@P3  (|3!7712" :06U3 ?f3A 7h?4A15P8e%$ 2"%/n/DS "*"33?"LrQ la$A("  @dd!l] *h$H T"%TX\67&Ie+i+B  < 20y0'z7 fC]1~  HT1@P$^c_2 jT1#6]/%_0]-  ( 4 0`.9m2͹h2  m`$  627:9Xa2=/YOe/  $= "#/+"49#X'R4@ FZ _%O7 *X$4"!" 5e i-e1C b" 9)581m%M*m$!A !T=0A#4!#7$$47"" $() a\D F" %5;" +")73$@+&DM6BL !  6 7#2##49:#+ MXL9ݺe[C #hd0=9#-0*"+0x/ #H "\. "#-#$/)3;%#D3";-9 %1ne5B R"u5  %d0#G- E-(x6973## W R"}ppx\"z66y#ft!"v"v%y`&v" ))|(#xxp)|(& ,")!)# @"Hv Z'l0"@z0"}#=#Pz)&*( z! `"n ${" `"2BRbrk&AX&2:9#| EpAPWXY$ pAWx `d"D) ##*)MpAWSuBWdpBPWm Zd pBW_qdP`WK`ZpCWKV 5d` H"HQ1"9)"h260#h$ CCZ "y%yDTV @N(("l]d$"1\$t0(! _  b Bx"lH(G#DtNO OT?5 @Е0P=F QFG.@#Q" Rd@"DT\$BT (j D &"V/2\9 1L\9/6\ l2<! \l=,\ 1 '6\=7,66\?H1\ =h@PB\\2 6\||\|4<#66\  )0 66\# X= 0| \|:\| 06\ G |0lB3 4 f |A2 9P22 +2 ,2 -2 .2 /2 02 12 22 32 42 52P>D*Q(bHDDpP\L D={9 |RQ}P"aMP+ 6&$W WqT ~ÎE G)mA##mAk#mAmAmA/%k0" *`j'`}pedT _  `Q`{9 4`pPDp |4P`P| <0T48|$8<|\,<08\w(UPlQh 8\ =Ka~SKͻX7Ө!O/6|< ~ÎE G[%_YOК Xȍ_b^_i_Q~__ _ Uw!~+tq_  su^oߍ; 2<5`H& _d^_э__X& _.;f V- oU }4TyL h_f\_VD*э_ο8\x2$@CJ{iУ}T\f ȒD6q&!Hc'0  DV*B ͕7TG19|4d,?: H(i*dM-.O(-`c6@`k.쌮mdP"h(*iFFƦf ʀ N&FF$FF@P;ѽw;g,.m ,A!M!T@t`!``p | P .L-lMXe tl<낆d'  v@ Aab!m *_ဠ6@T-,l\l`X6\7l ab!. NnL΁ ,l,m, .nO!.M,AXZh UZJT]X^4!| @ `\ YPaP/P93>Q-T6 -̡nL\8T`ejD``P֡Yh&fffffed`aaa `XxFT&F\T/b.]eTcFP;aXS^u! bVaFx5bz@7pFm쬌Ō1YuUtQm]a`]:  TК\R\P.\}!YRPPSTK;=T/T < .XyX&6 5=YRYRYRZaX)^:!5X?ḯ]@d>a5t \m]A x&T*`b}AP-)1TF"VGT33335'i\!`m \ێ +,QKX>P7;X;T &.&XTH]<)QQURQa#e4X?#`hl  d l|]OA  h&$\l?"T+b"_h|!PcȎ5 a8U*]J\J  iz\TlaA#V2 `,Xwm\?,2l:| "wiP4d\l^p3\K]7-PX!̮N.\pk"5P.S0X nL-,nN-d hT\@T^@&d "Dh5%#SG`"#&"XP$d# (kb!7uPT X\7Y&(r.%=X`d~Vmaл4 X#8#T d lml h&#`#2- +#Li"< , `8a߉"MPy+2h"t(w#TL4 X:f#|,  =((2&6!hdA#"#Aa#([!2()"L"daiTB4 `xUщ"H+X4"uP -0 "|55 "p#9 & -/52,8h•w#IX] --:8R! O t'",lP*\dS H4ДL[ߞw.'>6'85!"yD$!#|\48 #!hb# '#( ` #m"A*24l$({%d"q?ԃ4, "tnb# < &4"\ W4L5l\dA#\*#`^2()("4P"i.T4("yB` ( h; U! X9X/( è/7P"P  3#5PW"."X81(!h́M(i*a.8oi"STft1&D,&@ap` @A>  ի , $ ѡ @ @ @j1 &c"1%>j =j|E#>vb#>I" 8"EM.Fz~%E(E$F '&/Gq1 &M>qqq灁1`%&q1 :%# 'X0&Yz,Z%YY.]#Z 'lAq1 &slqqq3%&Iq1 F%X[ 5$+ 6&$-:#oq.8 D&q1 & qM( @ ( xp(xX!!<&At!@  `  `@,<$E%4H33$9 @ AtU$P e4  =Ap Aw>" 㪀 ( `xX(((pHxp.?b>Y  _:u! #.G*l& @  @TS ` dSf@H# A6. IjYDx=`((P ^ A6 hGLBBCTEqLF @J+533333#hBx p  p\+?rxE @Nk-(:`x8hX7 "#D? 6@EH RxpHpx@\ P "\4FM+ ,_4D@L54`0 !X {{5a9۵jnOmv n+PAmv9k"4 B 333€K.?t?,uH$|7H $2x"|4"SSR@ ` @ڸM `  @n& Gk!H ` @00Pk"H  `   X@<2` "h;  @<R4h +";@ @ ` @<w@N+% 7FQ H0ZC@ "K 7Džx`"8 "5 $ A)K@P "h| @,STANDARD(((((((('fyrT #B* F &ml ``(`XX8hp P 10pg'$G !" $ϣ; $ V Ϻ$: Ed Bh(HP10[lHV0P@p`P0= " `\X ` U@@`_ /qYlP }Hx(#Tbdpd67771497621:1! @ ` ` @ @|t%VlFX@0 P0@P@PP 00@ 3@Ttj" d)@"0,PqV~ h"EPR4@W #rh j벸btPFnsEE+ keh gjU ؄ 25%E MMUU#J` ` ` ` #  ` ` ʠx@HT(h#p  Hxh< @$"DĽ0B@Td(P*T*P ʟ5HlB`ST`_57 @ "P`\  ` MRT:(&AA1Rξf0R$ `(0I(B@C 28#0 ``A1>}hC@D H R" X @ZnZ"  4`",Q " %(B#-p "(A]A]2 KQ+PQ(P~T"@Z"*$`~ *}]]"v""  @`B`A r$'C[$"1:100_1z 8'C\$)1 0j (jd# \ YZ` -p :55dE$%"WVPD\R$_3%(Df` (.t.p& SbT4EO̴K@?8Ʀ?\Nt/($/!4I, OeQeSeXd.ZVI@@@@@@@@@ @ @ @  9 @@",I@ @ @d00 |bjBG3DB[$,*PJ VV9y[|%yf%`~kѸcp X h "Kd 4R"PqV0"'1D^H| hh~H1Q2Q2Q2Q2P( 4M$ L (-L"Ĭi NH. 0162H2#9="1$" "")H*#?PApŴADA`-.C\>B@e`0@ 0`P@  P0@`P 0#4) @P$@d"33?@$7?A@` @PP#gYX,0 (  22+49239062]PLL >B[e  @:rZb $@d:)5$!p 0<( 0941-_T$W.AS !X:7 $dy$ 2!9434:27E2 /?82 #N"(?"K((X?H $0q  0 :"lP 0q D1+жq  0 7*  0{ޯ 0.} 0ˌ 0qK 0|/q <1cq 0[q @1#}K Ĉ0kZq 81 41 q (0 q ,0fq 0-q 03q 101AW`Wk{&AX$)* '" )"Ep@WZd4Wz#t&2:# ,1EpAW, $ $ ojg  i#Gdfhblddj#0O h``#U| !@` @@@`@36Ilh8 B " " " " " " utu,$ 1"1"9$722<22(97829:<)#0R260tT &x( #d> *4 Ectd10\"h) :f:"y) t-; #8*\t.V" Nt! @ "d # .'O!e$2)8/$4 $TD`( "OaX 0@AH j"Eu(0(p@p( "pkOXNH:" :" D:W=!*Lpf c=pk"A%T +w X"zeU&"G[ PDU$.ͪ%| 7_!"W@*( '"-W.u 9.:~u 9/7-u :!u :$  A"? 6Vyd@@@W?"'*"* l)$e~ d~FP"UZ&"e"SB " " ;Fi (" " ؼu% (" " tv`b I _RB"Bi]"d2X*t2($"2"2"}H"@ "L 'd@E$#8S#(JD\Q&S ,R@#l#XS%DT4P@ 0P 7%<\AcVar ViewDetailId>% (8 Scale \f "%sn"T)!'(((a@]LHi8x@hpTM$A"1F#\% st~ T (Ba#$G"x #!"(W ))"*!i$ ""x"r":0my`T~"ԅP j"x )("!*&"`' *$&"TUUHUUVV " {V$ ,d/Uqdt/Db=Rj  RRSSHSST?̜n6S6daTC t  C @DDHDDEEHEe7EtdxqCt)5$1l CH13=q 3P1;L/ [k (u 0-%; 0sn} 0q- 0 $3 )*+T79:#'d1 3 ?'8Z #\ h i jT- k hT- B T- i         -P   F"%l  x   - T u?"F!7679(C- md )#!  6  -"l T 43 Z  F DX xB ;  R PT   C X "$ "$Yt '4t 03 t  ]$! &"Z U ##d  #4d n (!# *"`[529/739:"=v  ] ] !' 8T x Q %! ( ß5$i0 h0i$j0 $ `#3 )*+))#l֮RI볦< >.*mA1/mAk/mAvlA*mA4  .E (79:(978Fp x )*+)6' # ( Z $3 ? 3 Z # h ( jT- k hT- B T- i         -d  &\    x-#(  T u? !7679$722<- md )#!  D T tC - T t 4d Zd n  F DX xB   R PT   C X "$ ' u 6$3 t  m" !'l ( !#4# u (!9:#+529/739:43  ] ] ! P l i0"h0ğT$j0$ >i0 1"  %h0 h h0 hT- } t h h0 h l h h0 h ` h h0 h h0 t h0  h0 "/ k03 @ ih0 4 h0 t h0 *`/*6 Ph0 4 F h0  h0 t h0 t %h0 h h0 t +`/Է h0 4 2h0  $h0 h h0  "a&`$i0 ?` D"/ ` h h0߹\$i0 `'%h0 `]$i0 `?$i0 k0,$i0 ?@`T"T&" h  hT-&" h+" h " h+" h @ h+" h-" t2" *R_`$i0 ?h0!c h0 h h0 h *` h h0 h #h0 h h0 h #h0 h h0 h h0 t h0  h0 R_$i0 ?@ tR h0 h h0 h *#h0 h h0 h #h0 h h0 h #h0 h h0 h h0 t h0  h0  i0` 4.` t-` C`9)#!-3 )#l(,mA%mA%mAlA,mAe9)*+)(79:(978'8#3 ? 3 ?'z# h-d u  t      .?!76T$722<-3 )#!g   4Frx D <-  d\529/739:43  \ ^ Q P o l0 (  $ , ,Z #"  #  X jT- h$3 s X T-  h  l i ` h ` i d h d u'X "#$  #@ "@"  T y 6A #H @)@ Y#@ 5 y# #1 T 4$d Zd m $h0  F h0  h0 t h0 t  $ k03 $ *h0  2h0  $h0 h h0  %!"h0T$j0$ h0?x$i0 `"$i0 `ÿn%h0 ` $i0 `? $i0 `Ÿv$i0 ` K7,$܊ 1"1")x"42/ )&/"0:03= **))"!')"*r  "9*92\22 9'1521: 3><3&2301<Z;/$" -Ht8 .X?0162?:: /$0D\ ::941::g9x. P5 *t Ed|!/*4:617046/)1426 2d m#Ā ؗ T c|&)x&*@ ?,D W@Τ, ( h @ IG" X% 2eT2 gd H XT Q \Pr  ,,,,,,3mPۤ.1㰂.42]? [@$ԁ^AB d ( (p@p( `xX P .<.KO>[@uVșvd d\/},uVXu d|0 Bd(82 ꀠ (B&(xp H X1C+HE^# Z",#/`lPR"y47̀X̙33̳3)#mAmA mAoAmA}L̀L̀L̀fff̙̀33̳3L̙L̙L̙fff333̛333̙33333̳3333L̳L̳L̳f33f33f33LLL̀LLL̙3LL3L̳L3LLLLLfLLfLLfLL̛fff̀fff̙3ff3f̳f3ffLLLffffffff̙̀33̳3LLfff ((<<CCWWkkrrvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv1x1X 6Iq1\.__ 2 *. *h3(0X0  ( (0 !q-2__ .vvv 2 L>54__ I4> |A6 I,6 >A8 G8> |A: E: >tA< C<> |TA>nn ?t> >q  ? > |>  =D dP;  ; f  [ h   6( j   41 l  V n  T p  R r  P t   +( v  L x   '( z  H |_`c #, ~l>"U`,a5 $ A`A-dA 1 Ad@ldA 1 A@/   <  :   - A"H,X" \ A@   2  0 A"d ( A>-dA ( "M9_"A5g___#(9"   (|A  &#d"l X ?v (T * $T  t [t 4 $?  I\@1(E ; @ ?d Pń; Q,d  86X` Z d# :9 X :h7 V h* :5 *-5( 1t 5 (X3-n Q- (5 1/ PD /5 (X/1 N1 (5 -3 L35 (XA5"| X 't5X ; 57 H,7 ;\A9 F9T* ; A; D; ;\dA= B=T* ;q @( ^q  >  ;|`: ,    D   -  "-t D  =  ;  9  &-80 8d$?   #d=|D   1  /   (   (  )  '$ W 63 \@A   #,d 0(  d ?,=( Z =;D X X V V T  q)#l֮R0 mA"mAkmA oA mAR^W΍5__qvvv D(- 63"__1/ P/3 P 0,1 N1 3 3 L33t P 5 J5 3 7 H73t P?n(\5\ F 5 n%d 6 Dd 5 X6X% 6 B & + 6XdA 6 @ & + 6X__ 6 > & + 6X]@%h8 < ? 8XAT 3-| :T p 9<,t #hx 6 8t p 96XT Y T# ; 8 W ;\6 U T* ; 4 n&(80 0\ ;\2. Q.T* ; 00 OD 0 ;\.2 M2T* ; A4 K4 ;\A6 I6T* ; A8 G-8 ;\A: E,:T* ; tA< C< ;\TA> A>T* ; q.m1 ? _ #q6\YC =( d  Z 21 f 8d 9D h  Z j  X l  2` |A n  (r"x!h=-  p  R r  P t  N v  L x   '- z   %( |  F ~  D  B   -   -  <  :  8   (  4   -  0  .  ,   -   -  & P`+8` 6a T Hb % T $ t [t =<- >8 8 d?,)0/ vv_ ;6p6l ]q?+B@ vvn_Qn4(XX>Y 0Tp :(T:|- )A@TA Q  AA. >D 1 &, 1d4KqqlS.  Q,0`& A2 >-t2- 68A4 K4 63X6 I63 4P8v F#2 F4 4tt (/]G$o("gHr#d"lxT 1 3X L 2"p) 2X  2l T << ? ?=|=32 ( \TY 3 3X L"< ATF2\ L <T  6 <5TFI  <T  <ATFI  <T  <ATFI  <T  <ATFI,Q <T 9<\ (\ \ \\\\\-H TFI0 <T  9<? 2\\"|a.< TFI <T> <  2\Y"<X\\\.<\ # TFI <T6 <YYYYY)#l֮RI볦< >mAOmAmAnAmAdDo_ YY\\\\\\; \ + << Y  Z \\ ] T.7 .H <;\\\Y%<X\5#\\ !,PG X8 W<X <P\2\-| \-+ !\\ ,#<PGJ H _<X "<P\2\"| X\\\\6< +<PGJ @ g<X%8T P: \"8X\\\\\6< 3<TFPJ. )A r<T P: \)0X X\\\\\.L.< <;<TFI 0 z<T =.0X \\\\: 6\8 <TFI ( <T -&< \\\\\2 6\0 <TFI  <T .<#|q ,-h6\| <yY %r < :\.$^ mA2mAkmARnAmA`Zj VX Q R: R Q< ,<<Y  Y. .<\\ٛڸX 3 TF6 68\ <{T T <\. \.,\$<  +TFI <T<4 <X.\\-! \ 3 TFI <T4T <.<\.L\\0< \ 3 TF <8\ $<\\\\\\\](<XX\\ +X"hJ ,G /I  @><XZ ,<X\\\\\\(@)DT.L\X  %<PG> .| a<< |a>P\ \\1| .,X \.\\\  -< J\ i>'(T 'P.L%<X\\\ 5<TF& 6 t<T '\.L%<X\.x.< '=< TFI . |<T 'P0@X),A 7L <TFI & <T #Pl(<h +, <TFI  <T #$q6H )̒6 \ <TFI  <T $4| $h%!>, <TFI  <T  <ATFI9\ <T  <ATFI= <T  <ATFI5 <T  <ATFI- <T; <ATFI <T; "<;< = WI.<9Q ,.='ܺ$= h L4 0 H7 <E< I\ H7 <T&,l м0d=,h"<XPGJ M Z<XX@Uh 42 &<2h L&< PGJ E b<$0 S q<A I\ j=(8T K y<ATF& 5 u<T C <ATFI - }<T ; <ATFI mAmAmAviAmAD,HY\ |P8 U\\\\2<\/ <TF + } +8, <nT P|#l x$ \ 2\\\ \\\\\\ <TFI  <T P|'| 6Hx "h1< \ \: <TFI  <T !#| \6H\  \ "C'CX  TFI  <T  #<Y\2L6$| X  TFI  <T  /<\\\]$| XX\\\  TFI+(] <T  7<P>\ \ \\\\\\l4| X\h%q ,TFI2 <T <P.<\:Ll(| h#T0X  TFI <T  <\\\\\\\\\%@/X-L -\\  TFI\ <T\T8 <\ ,$0  ",TFTH <T\T| <\> x(3< <3H PGPI V " V%dU | /X <: 3 <  PG / < ]<Z <Ґ:  < )< PGJ B e<x#(T P %< 1<TFpJ,.2 L p<T H |<ATFI 2 x<T @ <ATFI * <T 8 <ATFI " <T 0 <ATFI  <T ( <ATFI  <T ( "5 (:<< ,%< 'I=$pLmAmAmAKiAKmAf/1 + .H { ,D  -P  X <<ٛY & X\\\\6 \  .PG Ix \h9 <́T.D <> _ X\X \\\\\\\2L\  2< TF`J   q<T # -| X X\\\\2 \\  :<TFI 1 y<T #:%< \\\\\\9 <TFI ) <T #2-< \\\\\\2L.l- <TFI ! <T #\)@XX6<\6.\ - <TFI  <T #P9<X\X\2<2L \\1L <X\TFI i <TT # %0:X2<2L \\_Y #<X\TFI  <TT  %<\\6\\2\\2o +<X\TFI  <TT  -<6 \\\\\\"<X +TFI8 <T 4 5<P\ 2"< 2X+ԧTFI0 <T  =<"L> \ \  C<!TFI <T6 <6,\ \9 K<!TFI <T. <6,\ \1 S<!TF <:\ < " [<x/$h0 0]  |  *XvY <DPG OA _<X < T\ g<"\`"h N f06TFPJ < r<T6d 6\ ~<=TFI 0 z<T F "< F#P05i<3\I Q <Ժ >, MdW = ,4 g(T (/e$U$.,$/N{8$Ud6#-|#:#"!  #!"!l"!d"""%;!!<< 07220<66;292143:337693764::82l1-j9(% `-QDӀ -:2:/<2<6RA"?읊1jnvxw^zr yOyAk,  >NTH"<<6&hA CpR x1,%arףppm\@=.gjN@3yXfuϊE](Dq¨^LGWbɹ8v{'d\4:G#F+ )di6MWν JzUtKSPZ}K,QX_UnLo"6W2Zƣv-?,_%ܘ k3}P4 9"8"00B n\߆aRDP e2#M_mR~cޓï[#k %BY,pAᗌ#75@AUٸP&$TXŝ ޅ(fG gcH /w9_e&:iAq? sцI+F=$6]2P jmFv6'^e3`?g'd  #L?pWS0i1U}'=c"I+gin7% ;!!lּC1<`cjX"p~-l4գUm'x`ܵ0R)Ûqޛ鸾~y43sF Xejm1ɖNᙌ[(hSAuݔ!Z`Zj9^"suQ DBEzV2C8f5ę &$ĸML k34iY#o5' M-"Cp11q+.It©L"dK ǰ`ۘ(Ĩ)ذrYF6\Vww7\F |oF\ TP:H V1UW'~, pwMor$&6$x&_16z{6᝿lQLarxBsFc_% % x'8 ,D2444$207(972:414uL6 @@ @=/5(989#57bTB%KZbiN HoqrjNNb^j~1 *T71^b'P&P 2!b#P\$ A$uRt@%)$ k"8<=901 Q(`bdihij i۸Z9زA48Z:uk89[::Zl U fS@[@A6M@@* x#Dbp`3PA<:C@a .'^]Hxx4gR @A剥N y))wi(% ',* 7p+# tV`Y*062!$+9T@)08X:j:8غ낙F:ff..Bu9 E ) ʼny)0bnYdĀ,)2,4;P9, 922"80d0O43*^@{%7" -@RIr~WcOyF&EFg$2I F(F]Oxzܨrе{(%* X;|O 2)mB~׆4j2/dwI.4|ڤܲ']V)֌ 2.\ƈa.9C/F,j g7gcvR(1a=HgFpr BMκN|)@q[3E43VR{T'/xf= [ rŐGREJZh vs{<п7F_;?7NZO)|% % Fƀ/1L 8)`"8b&aBy]HP$6j";r ܾθ Z$fI3矗+:c3I_%˨0ZyUDӛVֈ Xl+ȑ' 2Bq\ ,Phj 3&MBO pT\!'#.졁j5IW.7ʢt?}:lx &O:y *\ޛV|խԢ }8/wRYNw;ZêHybX*E 8/ZK)}%G 6nt Qi^ MZ~kJD6cX ̢.cFKV$zE&FpL**T) FW &:"!4]oKh) B.!j\{ܦlhQ݊h]F<)+qVW}YjC\2*<Փ+壆Z \Ji|WDR W0+q ggP5snfMoɤO0т @{ҾYEBcu $n Gb(t'5+ȁđ^bG R?JVt=8Ys4?Ub\F]91_eڱ0ԧ~`Ζ0+I ryR{A&94,d0 jAh d8ƥ #l< {bESLU6c^ٗqs}ǝhO~_`Y^C} 89ƤJ8he1~%4,װ~θS ]L_;:(ZB< cfùv&_\/Y&,A/ W[8<#hƫ mS`{TLk{톾RM6Lh6 yZnDjU;`i!|:մ&=,\$ j#K wXe,FwI P' |0Js`[`(za]JRĈa 7o-Dmښ#2@uԷ-ɾt߲n _ peSes}N}Lt-`6)ϝ"~uoRD 5ɜ =$ZC`Z: G7^5k-֐S/Z^)|O܄-G0ْ룇e`Z 6{^ S >yWJ=CDS *% ;!!: " ##)E$P 222&24(|}Va cwHJݪhRlSےcHI"bۯl6='_IB0e]Ag?I Pkj@1J'1 $<}EHR.ZP5-M$q'x9F~I1Q\>p Mf`PXZA/C{2%B_}818?9_*4 ֏)^; ,$A=2JD8iC[VR"7%T֊M$Mv[9tpz{m}&2g3enɒ*]%aY6}yl^e$gV&9 K5[R<}z=cbea[+P$|(% ;!!-%d08\d(% (Q.bY3b. . `E'D`.&\\%h\S'\..Z $ K&(Q),M.$V_:\Vұ#l1'$.SN"T #>+`AC/Fu 9,B7`ۻU/ߺI)gY![thX$/ ڦʬ #H ;RliNzg#y c_f Zg1F&aB3-rZ8h&J ǯ)]#7~x˯^maAWB +g]C`Y*u^=T=xuU3Ia"M:#/13#W'!U78AmpY[Y{xA?n ǐ P0tnЎo?\FQа}ݧAtx>eJT\ď%EQ/hE1#S&均@"t|V"A0X=d価kl2~fq%cqPkZ D0#ИXc]\~4x\?K.CgO%՘@331<&dFvA>J_Ó?0һ/jIȟVLlΎݭ _kcUh2 vmGsVm:42@.>"ˎ{ǶBBu;\E%}@j8-h27f3jkUښLt%HifESכ3x~F!##7wʒ~SM7qA- 叢W\l.vgYyF&b_E kx1B6bHBSj7Rh#3 'YӾ {*BB츝Mӗ(iNfpohA +eZfFt,Saq #O[΂)*@Z=l*E@{d&8XOLFָċޫ[1'崍'P*Q~Gj%* "U *#S'?F"0=^Eb 'N ֹA/``"(.#Ż3C-NvZ*{iPg"w~T ).^%)g#6VIv!Gv)"\K)~BpRh7I7k=k}yVyK8&(aّL"qy]G I10nכwҴIJFFgZ@~3$:]t}>9_u iZVsQ5DCt&<:*+/9^_L ?(% &@( KTY\`#? c^X`MB/ ڑ&R}E00X+M%J/HV0~|YM Xib.rJ,IL0 YtbS@ 0 r5bW.qde ,JU&%RdQ %aPEY}$tRxRy@I^(Ď,¡!z$͛8eb dj{8[4 5w޵kǰӌAP7*:׺ߴϛnuM*lNd˘^MĺAF%qYGv"\sx˾MzuHoe_ k%'#)"|k=529"0 wvͤ >쾘 *խV` ag5$v~6 ^fzf\sP N2t4"F6=z{KDm(7{^2ExrO?N2S[!E_ڼb(YywG/,mDwaԀ$-ߎ>ͪUv%uJrRĤaFxa5i]Gvs]f;oeh#0_ݯ/NIfi C$@%T$ z*<֚VG=r՝(х ;Bb/ sI8NkDm>{#70#Z,`X*xHJKitNII*?,8* X8') C~뫇#!E`&P&C17}ϟW{̇gضC'r#+0YNne4(fo|Q@nl٫Jy& XF=.zW~y}r]zxBJnO:+#N_{OȼچNQ Aj_,ĉ!j;{=>4J^&jRTp1@&DhSFB#A&z_~ZflB`z7%*fjWj22_(& H6鑟3:'FV 8HJZ+. BX2Gy/pMe/iI6#鄆 zke-68:``6-T2RQj'(35Du$֫[gˌ 7d 8QYMUf{F1MHxjޗmլ/ή @:":e/yo&XGn32//0wH6S3_Y_%#0~_1%ꎎ]2V- nh&fF;(b猔LyR5LLQpܲZZhd-?ِCr gc{Jn% #A* G"tJ (2:4#O%C(x88x"C+@'= 9432h100&A$lD+(.#>.:94:t$LREoG  427"\#BǠa"ס3W]:s  G 8O #oP7wg`=(z +%l tHӔzKyl01dym Z۠Q}Ojӳ/ꭵƊ~H/(%)< ĹYu~PP 21(RF,A^Mobq6TJǯjzz fȾQ:tF A-M$p7ęE0p6[VFT>ZBǼpr ݳ;2HgN[Y8E؛3ã&`utUmjF囙Ң'$htz*EOK7X'Ҿ]怗Hz\[|%"h[*N+N"O9,O.TW.DMY3|M&..JA'0K'>.tG J'G.),FT "8F +pF..@T+@..>T 't l2&H..p:ex&3{0@#:..4579.t)l5v#b0" *t8"'b/ +0$"2\0"\7F.<X3.D [ &<"|3$.<x 0v(%$a @#" ,4/W$U ,D//3aT/"R (eR [$8$S$?#-|#:## #" ## ! `e !eQDӀ6eRA"?읊1jnvxw^s=>kOnA =:fuoEXcl%̈ ;Bʀz/l^.<"X.%a"W<'7`qD>(Dq¨^LGWbɹ8v{'d\4:G#F+ )di6MWν JzUtKSPZ}K,QX_UnLo"6W2Zƣv-?,_%*Tf&2"- 9-'Px)20`&Gl9A/`Cy)zZ_4|I*^@{%7" -@RIr~WcOyF&EFg$2I F(F]xzܨ}rе{,*4#u :D~@޷#αxћ4ڀU(.5ZsH BrĆ>V#^? E"גXsbuq.IkiJ¬iZxn,AQ+.-ʸ7% '," \$#bc/jR!./t%K_^r/x fwٲAo0t&x6vx"xjF$8JKMMxPIFƝ޿bB!,aR )m_z<a4ً]}"芠Er&ꔘ%ڛ{&$g?,Śb>[3E43VR{'/xf= [ rŐGREJZh vs{<п7F_;?7NZO)|% %.!"**04`.ܨb&aBy]HP$6j";r ܾθ Z$fI3矗+:c3I_%˛0ZyUDӷVֈ Xl+ȑ' 2Bq\ ,Phj 3&MBO pT\!'#.졁j5IW.7ʢt?}:lx&O:y *\ރV|խԢ }8/wRYNw;ZêHybX*E 8J/ZK)}%G 6nt Qi^ MZ~kJD6cX ̢.cFKV$zE&FpL**T) FW &:"!4]oKh) B.!j\{ܦlhQ݊h]F<)+qVWYjC\2*<Փ+壆Z \Ji|WDR W0+q ggP5snfMoɤO0т @{ҾYEBcu $n Gb(t~'5+ȁđ^bG R?JVt=8Ys4?Ub\F]91_eڱ0ԧ~`Ζ0+I ryR{A&94,d0 jAh d8ƥ #l< {bESLU6c^ٗqs}ǝhO~_`Y^C} 89ƤJ8he1~%4,װ~θS ]L_;:(ZB< cfùv&_\/Y&,A/ W[8<#hƫ mS`{TLk{톾R6Lh6 yZnD&jU;`i!|:մ&=,\$ j#K wXe,FwI P' |0Js`[`(za]JRĈa 7o-Dmښ#2@uԷ-ɾt߲n _ peSes}N}Lt-`6)ϝ"~uoRD 5ɜ =$ZC`Z: G7^5k֐S/Z^)|O܄-G0ْ룇e`Z 6{^ S >yWJ=CDS *% ;!!,&",$\O<\)4*}Va cwHJݪhRlSےcHI"bۯl6='_IB0e]Ag?I Pkj@1J'1 $<}EHR.ZP5-M$q'x9F~I1Q\>p Mf`PXZA/C{2%B_}818?9_*4֏)^A; ,$A=2JD8iC[VR"7%T֊M$Mv[9tpz{m}&2g3enɒ*]%aY6}yl^e$gV&9 K5[R<}z=cbea[+P$|(% ;!!-`(iT;kz,xl.bT|#$dT0.TPlby0#_4#4.9-Jdb_9>J..HhbX ,%4H..E`b P?.\E ^ ,@D62( .B`:b< &/6 "#?,hc L3 .: d)k4H .:..4d2<*m/4.8V 6& %A (+4h",Q"mP@;ZlA`-Y@O:VܹrYy]I!Nym]\Ô(e@!sfJ;L*ڜ DT-= jSG8T9 dx1:36Hш&Dht6(N*f2r9v^W)"azێ}zɇ1w{-zвtxId>,ܳ.{|%)$\.H VK6-#8 Erl id%"sM@FF~GSEQdف?m3 #% V:ʰ2E85}HVx1[B4R l08d/UitW* !^ٰf t>6.Z})srgrt>NvS]^ݕI'J"F$El; ~叢_Z8lNL"z8CWl乹hP3&4%xSg:O `3'^wuV$ٻ'tJݐ68렧´~U^% '#>  92CQ{|Yg@"@eco~ӊQzs Jl1dgɋYlg}cĉ{47"9SZz8_(+hd̬-" " (nhy+,AGTi ʰ_Щ}ˏךr'JyMGh$Qf4Rkb8$CIL0|j74&5V* P⬟mBYlqW'r.m<_(Hy/F (!$q|b4)a3K͹gˑܐkrq %*p.D"̽T` =#" 8 [8eb W%),k;)Hwvͣ ~>BH9vh'xipܴ XR}O^-l͒O/L[,itaEfx.O2̴P\67bYVº"\tn^e)i1IsiB,RYHs'$1"Ʋ0q2~iNq? fXbjhS%nIR0G҇f:%ݿ3g4;ZΙsek,Tb:RP hR uM!Qc1ߑ5 [t,Qd+>l7OO)<మ֏GT^ĝ;ق J a0 +PN=n{s{KՙG"LOŮ9cPc,4EMo\NTT 41 `S=m!?KMȇ &'l(+В2؀RNҾ@=,@mpf F|M [~ _8ܶޟ>&Bg?.OWwq?: >c$DB_-7&7DG{6D;O鎵Nxi(ˡQc:DHtȰQ[N)uW w&/銥]K-y GK+ eYq9u<|H'J1(8JZ8V2>?oyGcoOW!᳄_0ܓZNW1db, QgY3_RV,ؖVm(e #S#@d >5&䑜 R!݌Lq+0 fXzEEuHVFTWnJB֤[]T"A?y,KLJ mah+J>H꾺)AEb^V=o%DYYrO0-KdSAb]Tݳ h,]zj+} G42Ӆ)z&FJL,@\+Wa.m$Y (j}*}qXKÑ*wHUOv+Σ QHj^ AxW|B.iDGz'~D_aOm[>-OwQV>AoTUrPd-?:yϣUꌄ { ϣ:D %5+@~f-'0RV A `GΛR7aou-3'{8K㌜Y7O܆Ƕݣ2hrTb 1M E`0fOKHTol~CY*wm8ʠ7A< 4LL:,iG3 ` Y [LFĔwaCH>S}?ޥS*uB%򇖀=b;V&xE|\8Knƭ $;+tiA>.m5 ?ꄊuTI!`ϳt}yac-#83"+f~{a\0$*n\bbma?*^ I~`/N-fOaj7L\a  V=g D120+_FҰJw~%"J0",*%;<'" ,Ď2  +  p.**1 P#@7#L Vj=, 0T+8K a7 >Q:t yJ!A"Wd™%0p61Zpr S-ض3&WZ`] uY=H5Tg2 zEO2̙OiQx/IN -^i&"y)K6X'Ҿ8́cYu#̸7% 2"!2(RT;di,Xi A.KX | 0%.@\ ~U$5Ph.?#&&  6].:x%Ud%/{4@#:.Y.L5X}6%/2t)5(%'r4pU% '1e,\X1%h +K0$"<Ā^Ta:G.@.H%4?,_#&3$.@z%l?"8J0x#a$%'!#Sd+lDp*l,T[#D$ (:a D $(hw$D,","T!" !!!#!#"g#l !!"):A.9>H P-; s8#& }|)$4>z?oSTˎ϶owW_`hyzSo(% :A{He9{ZXl81X|D~qbH[vLGg+5P FZQ)xh@2bV,269MքBR &oU$oii@ˋŦbHM/b}m QhiVJt8 }}Go5zO6;/AO/ҩT Dm?rKϨjJb{ļ8sA·C*! /n)NYVƣôJ% :Aưza?NJ$kCpŔU2̇SߍtAǫOۥל"\DaǬ5Z&_hW`Pr1<\X7sR#; P_"%&:Ǥ"_|7|^7TAYO'Х.9 GαMAwYAWl ق+0 ce6C*Wj'aJ{U&I2j]N*蹂p#wS_q˶RtܛfOuF4 ('8u\t˼(t"0+$> a:@8p`6p&۶rEy5iRhg4#ݟOgD|9C}QdaZ{p:mkXzi-`ǘ~a3y8%lN_t*~x~u1|žs-)W!ZErYXeM9J9 :Ti/z}9SPldV+c%*ip(TT-0<0Lk14u08| `bF^ mڔpuuur50Tu6sV5q2U51T560p646g*i164qq525T11V532TusrQ576blh2&#D 9P1>D"TI[*P x#1#D&:Z;:9jښ:Z۸9[ Ue$&f$$&%?PP..P  Ԇ &RO7DT/ꈈA"$R m 5a^L-il %=H-%Gx sxw5܊^[3+)hLja(v;C/F.8BAY!eM@jl=G:/.HZ%ʙV&:iAsɞ Q^=YAcS)ϚJNS32}pHmqwC,PKeP@U,]6ި[R+cw韦j5SA^e>V(%)":Jq)~'֨DoA )Pŗ]dχwK}6$mծD0h`T;~N5iFobմ!Q3ZǁܒvW<+qw/H8h.EF ʤq\Ң eo{%; ^w].>/!!!!' 1(B "۱o7tT )JJX#L.XR~;.;|díNS1$J f!x!pZ rQ-l2p66i4F#$:'xOYrja%*WrvEI3 , ?4:70I$GJ 'pI׼'Ι] ){(=6| 9F߲@ZL2NFB2ýQQm9¹Sp}]"AG{ h "u9c4='ps'biF OSR4;y@YA*;v®UfˁFhiIA:k4&%C?Aig\MӘE.un5 % G"N8)2  & _  b1 A_|R[ yE; Ug84{92ʄGf#:p3"4N"0lEkƫm)qt=±{ aIO=m(T> w{L<3D""أ9D>@+ [ƶ'3%+aٴ#!sښ қe1PAmx%Ս0ٸ0j,TH=ׁqHq!pBߋTA D#>Tl!r QӲi֮)H|'G^QCNu}5tַl4hu!+0_ɛTuд %gy\dQPG]]档)HLs]<% # Ta g3 dY dX6Ȧ͘CyZ[DFIUY4FƶY!q ޿s-?}39'8c'ٽ%HvU2xtYedm$ z ;;@Lu3߭{c/cHo0IO?rI t[yRu,n(-CXܕdoncLJtM6/=9;;@N9yB12_ ҬJgKĈn-3|0 3-1q8g}bŋ[-9g9Ҹ╜Yv}}= no34J ) $9 g\远1\8jD_yeŮ%*wʧIOȘ(cEQX ]CunapilpM")e3NΆb*.i-'ՇV~ N9"g1MR-1Dm_]E?>ƿšT/'{ z= oG8 iZB0 !g\;:/"~_4X_jt TOk$.bEj!xE4d˒J8 NEh%puvnZg".PZ2VҊnQug\LBN9c5z,gy߽VcExhHMC}-WAKcI6?9+l& !Bpzaۢ@47Zkk_7'>ԡ+u"F07sXk-]\j:5N 4둠r0?u߉!,1X_Pr%) g\JSu|[,sdAH؞gDAZBnwwgkVڪ hX02mUPҀC0ҺL.xX$uRam2,7[Ȋ+uE !e+ׯ:ݮ֚Z6Ξ5yaՔY Z4Q!қ:mqF C cVpm|Dr;ixS 1ƛ"Gy.ln"H#8~噳֫U 7+br 3ΧssKD^ڨ_ݍv=^aAGK[ŝ λmF_ޛPdh%h7[/9g xc 5ƘҺ Sက Q4RX9F"I޿wʩņ?H-Uyg (a8kmO׏\KËC@@)#l֮RI볦< >pr LvnA%nA%nAKkAKvnAYž dO_*bǤe94h5Κpzc Q4Ƙ@7h?|k- H 4Z~o(| A)e.rbx&UxgG&RRkmW?:N۷;]CEN Ч1U u"j͉ʖgٖGGq%Ǜ|FnoM3LL_kBڪ& C=w_ƣ<{{;EyNΎ}ks8MkR%ٖ/b$h˳ Q,$S jb@k=Qa\ 1e9ZηS㥯zrc 9BD?nz+VrgEQ4b _1V{i VU6ssll/[-0osaSƲ@5ƘS,b(ft仿I$hJ2̩-4ཐa#ǟ, ( ğA/_緷Ƙj\8U;0uD!BYre9@P:zE3YEw]+"Jsc5ڔV:mNӥTG6[퓓O03BV-H$C/B-u/Fm;M}ֺ4o'S?[++NfiՁAvѣݝT&1F<pF 1֚ :GFXҺGiIk+<֩'G 莙^ )"hO=qXKlvR5uE˭Uʋ)B0]ݹc~gs#>l v#E˙wj ňH+ T$V%`D:>>~|נלw%/r_†Y*6}sZhlu8ى>^ 8:zEv?LRAd0[s06rr[:~e4Tf52freNTnGiyꏈU+@QѓE r/  eJlWQUc h\ޤ~DJQz88ߍcVxc-R2N7zPR gSd8>S&k:?PGk-.n7A`oc S!g,cV?f}u~dӓR2T^WBÄx]@|F or42߫xCI^g:\:Le4eb 1ds*ތ"EMқf[&XN5lmB-5y FXH_Qt+ﱌ/D\S٬R2B5P?Ρe"Z]vPp>8Ny3%:$-3ɚh'e9”ͦT-_ġ Bbr'/|W&z4aT#ߌٚS$ȫ| |&uP"Ns}sC`CDkm&ٞiQOf{`A/rN/ ͆@':֛t$"W!0A(% :ACS~O! "  "22<6FmB~W/]5H&ڟ(I.~AmR>r.JU[ $u`%';՘KH Y`l _h0ZIMPX+ apޓŌw1IN,4?[,9`ϸ+>Kbi4sfT%pca?Ӣ󦨟aie'ɫr숻۬lgil+,-ʰ|% :A i! "  "2<<6jɦCL&!.itKr/x7B/Iխ4 O#D0w@;pr?9 kM8KhJO%OKB(@ޏ෰2H: N:!0J$qb6.9q-V~})+†HuZIpBtԎe@.\퇾774-2.x )Z42icc`ltZ]{y>HP-Motߵ+Y-&(% :AFƀ/! "  "2)2<6b&aBy]HP$6j";r ܾθ Z$fI3矗+:c3I_%˨0ZyUDӷVֈ Xl+ȑ' 2Bq\ ,Phj 3&MBO pT\!'#.졁j5IW.7ʢt?}:lx &O:y *\ރV|խԢ }8/wRYNw;ZêHyZK)}%G 6nt Qi^ MZ~kJD6cX ̢.cFKV$zE&FpL**T) FW &:"!4]oKh) B.!j\{ܦlhQ݊h]F<)+qVW}YC\2*<Փ+壆Z \Ji|WDR W0+q ggP5snfMoɤO0т @{ҾYEBcu $nݛ Gb(t~'5+ȁđ^bG R?JVt=8Ys4?Ub\F]91_eڱ0ԧ~`Ζ0+I ryR{A&94,d0 jAh d8ƥ #l< {bESLU6c^ٗqs}ǝhO~_`Y^C} 89ƤJ8he1~%4,כ~θS ]L_;:(ZB< cfùv&_\/Y&,A/ W[8<#hƫ mS`{TLk{톾RM6̘h6 yZnD&jU;`i!|:մ&=,\$ j#K wXe,FwI P' |0Js`[`(za]JRĈa 7o-Dmښ#2@uԷ-ɾt߲n _ peSes}N}Lt-`6)ϝ"~uoRD 5ɜ =$ZC`Z: G7^5k-֐S/Z^)|O܄-G0ْ룇e`Z 6{^ S >yWJ=CDS *% :A: "! "  "2222&24)2<6Va cwHJݪhRlSےcHI"bۯl6='_IB0e]Ag?I Pkj@1J'1 $<}EHR.ZP5-M$q'x9F~I1Q\>p Mf`PXZA/C{2%B_}818?9_*4 ֛)^A; ,$A=2JD8iC[VR"7%T֊M$Mv[9tpz{m}&2g3enɒ*]%aY6}yl^e$gV9 K5[R<}z=cbea[+P$|(% :A<< 07220<6(% :A; s Y-:2:/<2<6(% :A{HeK}12<6(% :Aưza?N 1<<6(% :Ao^! "  "<6(% :A>Ҁ ! "  "<<6(% :AfkP! "  ""002<6(% :AٻC;! "  ""00<<6(% :A˼' ! "  ""002444$207(972:414(% :Aip"E! "  ""00901972:414(% :AI[+#p! "  ""00*62!:2:914(% :A2,4"K! "  ""009229*0243(% :AꈈAP)! "  "212<6(% :A:ʀqS! "  "21<<6(% :A^w].G! "  "21"!!!!2<6(% :Ab;V-! "  "21"!!!!<<6(% :AWrvP3 ! "  "21"!!!!4:702<6(%  :AN8N2G! "  "21"!!!!470<<6(% :Aw{L4A! "  "21"!!!!4:702<6(% :Ag3 ! "  "2"!!!!4:70<<6(% :AU~" 9o ! " "21"!!!!4:702#70/73% :ACS~O[! "  "22<6(% :A i! "  "2<<6(% :AFƀ/@! "  "2)2<6(% :A 4! "  "2242<6(% :A: "u! "  "2222&24)2<6(% a%:A<< 07220<66;292143:337693764::827212076769(% :A ր -:2:/<2<66&ABfEF.PktۆgMqA#eI;ZIKߤ +b12<6F&aB3-B@\U_8;ko^7zbxPݣ Z@VkiG)V/ /fB&2˺xd**nѦzV~EU6"Ϯ)\ٕ;O-u5mOaеݙ z%~^W Ў)f|ZBD=Y1݇ARrE=eJ=R\䏨% :AQ/>1<<6&均@"t|V"A0X=d価kl2~fq%cqPZ D0#ИXc]\~4x\?K.CgO% :Aщ31<2<6F-A^Erf)d5Q^1Ey.X;3m;Jc[-*R ]7* (H^x1 !!ʁtW[F"˅-9wa/a@Ņ C! @KR`VV=RǼAOӤ(Y{R2 ms' dDiwme< &r>UMV; d!xM @۞F605vrN˘y!s܀{X'Rgxܵ` ; 0:+Zṱ7stPt'M2.0tߨ% :AD>N31<<<6&hA CpZ c?ttAǦ;a31fK7KalM1<Κmw.OlH-5PTg(z&5ZJjw% :A - 31<" !"#!2<6Fa^q$q ؾ/@$1X<*8v,o2HM Z#Vfl J.V8Qm\fG4qJO'FoFQ<2~!-:'=`$e:XJ8"dSbUϭ Hs >p( C}"|@d}bMPZ91IB>'c=gd"*ݝFSml\pt^=s% :A@ƫ1<" !"#!<<6^aB/!#(D!C  pU<Щj3CђψQxPV77 #Dɑex>yU,bh砠k.фqZ&#~m *nO$<}"r `%ĉ2Qr^C)(Uȑ<&􊩝&B5&\`YA]ZXyx2# h*-k*(Oϭ[7-2]-~"J;QAxGQ&kN?kέ/0wȧo/_% :AxSSփ 31<" !"#!529<6vQ ? 7 ؕeX-RݵZU"!d᠁N>Ztfy\OK/tC,i|%W^ZeV6&ڊ%ssUp4lЊXB ʯBG UeabɌЉL0mSNlBƌ'ɦlķ \4ܨ.K^ҵĠ%"=18 )vsPos\sx27#Y=9{eF*U-4x#laF4@+]+6HBG6}"'Zo?AyֻQ46Z#|>LAd2*e(Sȅ_7/9g³^:+ӟvY)CC\ L◨I)ܟ3lAз6m4JyXA H72eӸ PHP紭fٓ_oy`wvNKD;Λr]i9=(6!dQly dNu5Nma&ESLR3~F(G?;r>6]#")?tFFv,IQV(% :A;/=31<" "#!21<<6&圇@BtƂF o+lp~fp1HhUw0-D*?l JB{HZ7뇓%xԅ% :Ac{L31<" !"#!212<6F,a ^q[3X"6P .J KUcWjzóhC w$ @5 : #ˆ!y!].TyvPFhjV3 jìE<6T9.Ac%TF[xNVե^ <1ӳ]n"^S8 }P^V`ɮT2 Efo$: ^V^tY:a%7r#[_% :ATVk31<" !"#!21<<66B"mX]tHFڟ{j"@fwŭ͚&9sffoƟ`| y0SYc Wg)5ᗆѳx13˽ jU!z7]o'`}󐳗/J-D(n(-U Ox;:'mR6ӺNV%!t^鱮$KI.m1SӔmv͢#%njCN>oa:*@ei+ 2cnku^.3t$ha<%AU~ " $31<" !"#!21/2#70873Ĩ'# ") D$m$,bbʕ s 4@֭,gVQ,$I&dlľ#g^gyNmsh4z(! t7P_~yUuauo+pA[+S]^;Y\#MX5 bo|Ç=^/@Hq|ٳϿ}TH!8g4;)%>doncLJtM6/=9;;@N9yB12_ ҬJgKĈn-3|0f1q8g}bŋ[-9g9Ҹ╜Yv}}= no34J ) $9 g\远1\8jD_yeŮ%*wʧIOȘ(cEQX ]CunapilpM")e3NΆb*.i-'ՇV~ N9"g1MR-1Dm_]E?>ƿšT/'{ z= oG8 iZB0 !g\;:/"~_4X_jt TOk$.Ej!xE4d˒J8 NEh%puvnZg".PZ2VҊnQug\LBN9c5z,gy߽VڛcExhHMC}-WAKcI6?9+l& !Bpzaۢ@47uZkk_7'>ԡ+u"F07sXk-]\j:5N 4둠r0?uߛ!,1X_Pr%) g\JSu|[,sdAH؞gDAZBnwwgkVڪ hX02mUPҀC0ҺL.xX$uRam2,7[ț+uE !e+ׯ:ݮ֚Z6Ξ5yaՔY Z4Q!:mqF C cVpm|Dr;ixS 1ƛ"Gy.ln"H#8~噳֫U 7+br 3ΧssKD^Z_ݍv=^aAGK[ŝ λmF_ޛPdh%h7[/9g xc 5ƛҺ Sက Q4RX9F"I޿wʩņ?H-Uyg (a8kmO׏\KËC@@ž dO_*bǤe4h5Κpzc Q4Ƙ@7h?|k- H 4Z~o(| A)e.rbx&UxgG&RRkmW?:N۷;ݎCEN Ч1U u"j͉ʖgٖGGq%|FnoM3LL_kBڪ& C=w_ƣ<{{;EyNΎ}s8MkR%ٖ/b$h˳ Q,$S jb@k=Qa\ 1e9ZηS㥯z0b)<$93/< re9@P:/0O)< ?[++/0XҺGiIk+<< mvR5uE˭Uʋ)B0]ݹc~gs#>l v#E˙wj ňH+ Ԯ$V%`D:>>~|נלw%/r_†Y*6}sZhlu8ى>^ 8:zEv?LRAd0[s06rr[:~e4!Tf52freNTnGiyꏈU+@QѓE r/  eJlWQUc h\ޤ~DJQz88ߍcVxc-R2N7zPR gSd8>S&k:?PGk.n7A`oc S!g,cV?f}u~dӓR2T^WBÄx]@|F or42߫xCI^g:\:Le4eb 1ds*ތ"EMҴf[&XN5lmB-5y FXH_Qt+ﱌ/D\S٬R2B5?Ρe"Z]vPp>8Ny3%:$-3ɚh'e9”ͦT-_ġ Bbr'/|W&z4aT#ߌٚS$ȫ| |&uP"NssC`CDkm&ٞiQOf{`A/rN/ ͆@':քt$"W!0A(% :A<< %x 0722*4 ր tt Y-:2:/<2<6(% du>tH122Q/SP1<1 щx31<T :AD>NY3  - ,t" !"# -t'o@ƫ(0|4Vjx&92xSSփ \< 529sdWE;Ta`X  2:414. 8x0Re:!J9432-013?:94:P/8EoG -:< 427$i0 h0 8"$1 Y$  X h$h0 h' s  X  ah0$j0 ` h0(978'8#)#l֮RI볦< >/ +nA,nAK,nAshA+nA-W)3 )*+)(79:(978 3 ?'z # j j h-3  tF  x    -h0 T uH?(!76T $722<- md )#!  6  4- 4 T 4d Ze ?[ 4 G   S PT yq ?  @ X "$  %6$3 t  _[3 'l #4 "4# v]/ #, " 529/739:43 V ] ] ^ P n $! ( _- $ "   % $  X T- h' B t g T- $X A  ?   Qh0$P lѕ>*pT ^pdx x ) @#sOB~|"H RPr| Fh6+k79d#( ~x"cPpxN; @  j H`(h(p47526U@XW9l*.1㰁$.4}+Bx@hao3Xj.2PLܿh t"3} u2 3 t3h*| 1㰀.4|(x_낆d'ZB SX0d ULa* nBSd U :࡙55E}x"7f.GԵMSTz\g@֐B ,ffff |OQH>[@%BJ d ( (p@p( `xX P}).]z$h ԁȖAB d h  ./KP  ( jhB " " 9X  QB " " V- aB " " BO">$3"$)(& ,' &"&2:941"K3#l #)$]"?[Hf- UB e" " u- IB " " Կm\% yV# #4% `.e kx_m T4/<,$j[ 4 ,$ /y3 8 V2xps``*@>8~y3 8Ij3 8 H-ZA PqUt% 8/j3 8/j3 8Buq &8'Wj3 8&y3 8' >| % /:y3 8/lJ A)p MnAnAnAKnAKnAEa{Atu%C2|d  )#l֮P nnAnAnAknAknA%][ ? )#l֮RI nAnAKnAnAnAZ Gٽ@DAIAT@AAřGA3:FBA  AXZAADA$3q@5A 4h,Rw4et@Q}AO6##A#%0hL)-A!!!!l \]%%?=;=;8/?77 [A@+ϜBAJ%CAOLAJJFGAEMAN8yA & @ d˄UAU>8PHCǍDD UWWFHCԐCDXBۖCDX˙BB$ DWlA_BZVi\d`D VDASDBTқAAAAݼTTCA=|pTCƪBA%]CķCƂDCBBB@‹TO $ )#l֮RI nAnAknAnAnA^+.hĸĩ_϶PW $' @HAu@'xFQsv~"GFp.{@{@lXt06\@ "] s P@Xt`4c+PozZ{#@T`.,g`t wts#@kVtg+P<"A{FVLd@'zj vw"A{Ejc5P\/c: svZv"AwEVo+Pl7~j{tr"A{Dfl.|? s:vrZ!BD{+PkGdt${ tr"BrDVO( v"BvDf{+PWc,~jz vZ!zCV_0s wt CC|.́g`t4v !CwC]|.`@o8w:{~Z~"CC]x.wkPL\ EHOLDER  `XP@0d<TP C@zY@XY @@@P[P E Ach\VisualStyleBՀ@@@@@ 99S PLd TABLESTYd  P00PL 0\eW_MiAg_CloSSDR@@XS @@P@P 0@e1U74l4PS STMe`UDocCP@@@@Tr d2 @ @l@P00 P0P' P0d0V t.0 9L<AMGSETTINTOBJh@@]PPVklPhl P% 4Xn<@ MServic#XD@P@\@@$0P0@Pm 7PImSysV#Ma#g`$`q@@T#_ŀPt8P ```"I5T$$LX XIMXQ TSYSVAR9) @ pp\w\npUH\$8488yB\XW@@R`Pp8#\Ent#| yCacheC'm@\ @@@@=P L4# TMANAG#7 4@@QQ " P" M4#8PH#0HTP<H8 $L@Ptl#lp AQlf(kGr#Wst|XO@\@$%@ppVPPp@)X 4x_DRAWnG"G"X"PX"8\8@W@p@0PX"@=XW|\\< ThX[lPPDwg",ewMgmt&d!@@P @pp"!PP@E\8S9Xl;kDmDimPp"h@@@"!i"\!a]8 #PHREALD #[p UP" 4hXXZ4H|l"hPZ.C&"&d@"(@&;@#|! 0P8a"<RfInsAdju\urD@\ @@"ln@Un;pV`"&*|h ##X[_EF#&"@ ""@ "&C@"#t.PV"vP""1y^AT"XX8TLP#p` Mcadco#-xP@@@x P@""$0@@'xPP)Y-"/ Ami*BP@@UZT;/14X4#' PRPI"\ MOUD#%)@-- "XQ 00&1"$4`PHLdL%1"/sign#/ ЀQ@0P" '" OA"1h"#*5\T ApplA@"0%&pP\5T) #Q#"0P"H%RD")@PM.$ $@"6P!@#6\t PYJ"8@"dU"+ "}0\P? HNamedKBS#+LP_0$/=]#8"C# 1aT DTDMMENU#01ATED-A%(<@"#"$ # -#PrW.] A%0<mbli#*B@XX&>"\PY "*@IZ#y<#5"!"(cX" C#]p%`<#*h[ @"6$"$0%; "1-"  #* "$CMCONiXXP_ T{XX%<2R`X"6 4 <4@ X#XU$Z0R"P"W\"6`%% ~mXW"t+ext#I"r"."M7"\+@$ IXXTX$m#lAC#d\"""<RR".\@@c#9HdF"@@@@"5"S.#"'@#6"YA" I@V@ #<  @ $$*"9("":"'I"&"2#2I #?x"P,(0%"p) 0 "t"(TOx@#:>@`/yAP"a# J$D&BROW">R#(J$E> #0 "_Ap#%"*DL E H<\L"4@@<("p>"hJTB"(8.E"*T@"Q"R@l@".\P\ 4#!UE|#"@-@TI""#D"5#B #sH#"L0"89"F##9 "O#>"4c#'t#y@d#0dD#4C"H+"@@#"lR"Gp#O bG5Y%tGpV ""`"$mGP`PCFGSHP"*a_@ b'?P@p"I@"W 0pPa"<"\#J".8"?H#< 8M"#dt_#xTdImp|Produ#Z #scrip#TD" [: Auto#XD "Ii#0l|#TVy d#I#`o"po"O@\" q$9#P"<0%#P"BG#̅"{"VR$9"I@ a8#X*"cp#J#~b@(R#D8"\PF"g#m `8E"Pj$E@#`_,8DX"%dp%E"" @`%8($EP## "Hx"D1# #< #<"}&" C#<"}&$rB"_"F$##4P"X P`"m"fo+TM`#}`#"!n8`[+T I]@"]"^#*$$+)#c"&X_#c#0"  <%hbSorhh"csTa"PkeCTPf"cPn@"Iu"pP",P"e#%[L# #~#"UtS# ID_B#~K"~"Hy"5]@"l@"yb%o 9Q2b"c~@"T0\M"L"`&d$W$L  d'd@#e"Ow^$W %e#@\"e"v@",@ #`"2S$D@P0#0P i#^|"XS$P"\"E(P#_|P#d ,"_ @"xP_T$8@P`"©P#e$t&"e"#"TK"U^%Y%XeEd#XXuB"@"L#8 -y"'"7## @#L"[%s'"?"0&"QY#"C#OCKPUR#"o\EV#y$_dRSI#t "t"p"vYu"=v" """H" Q0"#,0#"H#""0$$ D"z"""@X|@ "m0&<#"? tBl"jk"\m"\ ExprF""@"\"+%p%T{"#h Ie0#U""h"#L#Tg"P{RIPzI#Բ#@@@@$y$&PT$#m"̔"{T$$ G"܆8(4""#C"@T%`CQm'#̜"8`"G@# "8pDbr$et#\"L"cDu""A"""A ]a0_#܎"IJ"$$t"ɹ""tRpR"$& #$"N #x#j#>P"ܚa@#u$>"" "U#Ǟ$@ &H00$""< ""," #" # &LUP#ԪT X$lp# P"(t!*(),#dP#&&!$$ -q0 L#"x\P"*E"I"TCH#"X"FE"T$\ 0 #XS@#Y"ٸ'"NP" ""d%`"P$0z`U<#< ]F0@%"$)"x$$c@#h"2P")",iP#"PU"&L $F 0"`"bi#|"$Ԯ$̙"ErF"0*"#@"q"%D"+"#l"%" <2u]X"D!("X"# 7$&(VI#- B#H7p"p+"0 #̤P`" "ܖ@'P"$l QX$L$$# Pd'"4"\ 1"N"|2@"H"=`"8""9@"T"(l"dB" 0#"$"f!N"!w#3k$"L"ҫR"u#.3 E$H" )$-Ǥ'A%A""$L"YE (8($#PP""@P""@$dLL#`("0T"-0#"\XS} d (X(#"`(""z"2"@$s@$R0#9" e"Ԩ@"780 q$d""n" ncyB#ԅyE@"@Xt#@""HT"x: i/#"a#p"@T";02D%$A#1)T'a;P )t&d0pP"X3#]. "|"x"p"! E1p#h)14(("B@1) )#xT()XY'0B'0Zv" Ux(0"Xs. 0 x0/ ")P%P7+""ɇP1P7T 1}#"@$|1)tr"t?p# ItA#$"d"Ը"I&H8)0"@&&p8 1'%%?2"IGN%t" '#+"$,"!?Ia"$8'"Q,? iE01#z1A$`"@ d'QFipCP""@ M0j|T&l/BL"KF"?P+M/`"j$$j$"(8j"Ot"lft"Q$\"`-"Q"@",%"W2Q|&")"P):Q"R8%R"""0!"t"d&! )1(2r:䀙 91100*9Dр"B10#I$$1 1I2 *92( "`n"X""d0"01@#QP#P%"  &XX*P"P#%8("PP" \b)/r"e#tCP@"""p"'"7#P h1`I 0@#"$n)`I"OKUP"""@$8X  4&''7 P'i7=(?"W<,T@'@7 F<2#Wm&W !HLookup%* ?ES@ #Em",$?zT&xy"/ GD{-,#vp0">e Q&,/"H\"M?#"> '07"7"">">"" (07"7"* .1'Ur1)'@"1 Xow('570u(\ ( (E5@7 "y"o*O&d""_o@P/?,QY#do0?"$P ?J0|(0@$-؀"<"p78#r8@"AH)0P0 "("6x8 |'@)"Uf#zdSur )C""O,"a U@=(GT&x (G* (?"`"p8#P ` PP#,&(H"#0"`TH#Ă"p(D F$F+($,"0T"a"+\S@#+xH"@"#aP(@j m&9(H"xgeT"Ta"i('#ī,O"H"~"xy%j) 0H @L%`9"1H$Hj"PUB%|q"h $"΀0ӊL} H0G@@"&#؉  )x"pP" #i"#6 )P{,HAngs0ar#, tra#!t1*!H#&#@##&t"@"4"4s" L0#8"L #TQ"CSH_H#`TORY*7"d$/"P@ "##l!L |""` 7| X2"h7 #"Xz|o0"p~"h0 HX#xXx ShRevolv-"@"-""XX 61@("#10( "̒"WPO%W L 1H'" Pa"" <#` "P'()7@@**`4 7@(cHMoh{\&`D@X}","hx#7 >Q",T(AXL<" \&}S# "*BT"F""@$4>E[sP)nA""'"4Od($#\$" &1l"Ĝ"j2l#p"ؖAn ; P1gV% q)|TM,|Xt$"lG '<0*&" g&"Th6070#Xx"H*y'R,Y">C$KGU#R1%@S g"/^0" #q8 #t0"X 3$A](l@"`"$<3P  #'"`pOx P4/|Y R+'b@D",#&zD "y4"MIRtP$L~"a"&"/ofB"F@#&@4?'VHdP$E.u"E"\m'.uS@@E&]0"$- 1P"Fp"3"Do$"p<"T"4o"$`/D0%JpZ#a'K@"@#Մ"ɼ# #@"t\T"#T" \T\ \##l$"D<\4NP|""s#8`Lps$/D#$og"7%>""= x"#@#+"T{RT"A6"@R["8"1߼%u"&p SP_# +\8"d"A_E7_#l+""0BT" T(@"ҥ"( "HV$Ĩ%IE]&"g|L@%(@|$^  (nAnA+nA+nA+nA utodesk,Inc. |WEB Addr\s: wd.ay.comD@@@@@4P0@0 P0 @d\ Uf |$l \lml$lAecDbDispRepClipVoll sultG@@@@_\ @@@,@$P0 0P @P0@@P00P@Tmd 0@\@P T  p03l0\ pP \@@ ^0^ pT-noq`| H XlLԌ &AEC_DISP_RElCLIdVOLUMESULT_UBgV\|@@ @@@@T^Ud@\@@T  @@@2o f \ @\W^ T @& np@ @0x00`hp0P ` |$L@|@H<@L| 0$d X<0T4|HLT0Pr| Base80|Product D#c#A-"rchitlturalktop 2007#C#pany3l 'jF h@h@ P@@@P p0Layoh Grid3dF7@@@@  i0@"0#, 0PROPS_LAYOU#GRID3D Ɓ0"##  0"`i0P""p4L,0< ,%1 E1#<@" 0  00 0 2   2 1D*$P"*@"10P$*`P}8#* P$8@0 %*$0 H04*'@@#x1@@%3@@tREF )d7>`/>a84X ׊>DP0l)"8Z#.)$0 #|(0#( R0$[psS#ice3 #h (1${h4#p"lR0"8"XhMATE#7RAL ـ#p#g">R@"-p"6p]0*pg",RPH$0 "k0"LP@"I"a(##I{@",p0]"Ӱ8P#IHd#8#Ip$XLObj% DBX #@""sI%("G#Z"|#p1"#k$@#?)`"1"Ѓ0b0"1#(@ #o" Ex$|`#$"*A%BP ckVertic#Pnst#ܳ{Pagme#^r$l"yHU"@@x@p@T"@"m"Dm@@%d#< MY0x/$L"#x/8-C'N_"p/"9]$m&_&/ z/5$ @p""""FE#!P%Ǘ"J&|T&$"8"P0"p"}E0#"̗"8"v$0A$& 0 $2"@"t""00%n"n#,pp @t&%0"DsP0#r@%YAp#A$#,s"A"%4 1"60$ota#W#DlUn#,e.I d.#%D#E"pD ۄ.1t$DH-X'l6X"$OF %."T%T$"ݞ`M$(D4_< -"X@,5""0#ò &,$tJ ;Roof#3ab',2@* "h@&H ͹C}6,$s#,\\$T$%,#$P @"TA#f_W"L_UNI#& C%}*#,&'qCY0&,& -,E6,,.d# <1'h QB0+,l*9F$Y\1*9"4 a6&M*L#X&n*8&=*S#gXB_'d* ͘6B0&$x$(hA$0n,"Q n8P8"g l%nF, H *H(8"&(@ +P"|"n t*7?&<*%*%n??& *&) m%@`*)'&m&91 *(Hm8 ?8*.$U&4*l0U)` ԄU1["*T*}F[$*0&?&?pc ͠?7il\#?" '*'d&<[W#x?DOW"l"EM#IY *7?%,'9? qG6L*%#A@&|U @ (|5 @h0`M"kP ͅU0(@$Z#weD8%"$Ut0%`! ŵI0?(0h0?*ZO" Y?t5n"4EE%#6)?h#e%0 ̬ E$D#Lx@4D#oP00<*$# 0"o ܹ6P"I&,8h H щ0,-$@ hB#$$"AEC0W)BA,B&,XXp 2$X$[ &B#`Ԉ6aL#Y'm 7.4X\d^#0-1,X `B1$`B6ؗUG>liK)&\XXe t-7&܂&mT'̂$0& H.pCP'W6H&hCP_ $, (!#`C&p*WL6 %' 6t+MvBlockRefPl)#l֮RI볦< >$ (nAYnAnA+jnA+nAA}{Han50H@@|@@@\ @ @ dP000P@PP \0@@P00P@}e g@\@P T  p03l0\ pP \@@ ]$n$pW.nleHLPTAEC_DISP_RElSCHEDULE_TABl=]@@@@@ @@@@@@T@_V@ @@@U @ \ @d ]n$W -o n` @ @0k/h ~@ Pu |$L@|@H<@L|L  T0|P0vAecArchBase80|Product Desc: Autodesk it\tural ktop 2007 |Comply:0l,Inc.l WEBd ddr]$sn wT.a&.cnD` @Xg@@DP0@0 P\ Ppl@Td]dld  3l$l \lm$l -onAhu DbDispPPpsOpeningE%8&#!W\@@%# 0 ax04ci#H9MASS_GROU#8RCP%"@ "?P0p P"B"P.H@w'@|4LL#p T@@08 *HP0(#4@P"|@#$,@. "x 000pTP0 0Rep-Mo#GlF1#$+/@@&+ )]>(H"!8+(!E#*M#t+ 0*,#P4)$(*$t8"-+4  #4@3>PP 6 MvBlock"HfRcpG$*A) ,&+1A%8A_ q>(?,@"3"3'.8$8AwDB'A|&(,PLAN1#,: ͽ,6P"Hp+$@ "A8$8 ّI$J+A(,+A2@"J"K/`B",0",)XB1, @0P@ ,7Rail%BPl# J"$1y $p a>0x()jW#l)q>F1^)'j@ ف>Y 4%k MOD" LS1Pi1)d)1Pi,( lS8"&"1dS&0@" (" |)1(St#r'i"2'" "> 7()%Ԫ<#S%!# p&`_OVER#wTPP% $ *` %/(%|<XH#?"$h U2i#M+/p$F0?p@\00|0@ p@"@2T&'r@0%m l+ p@Schem p@"i@ ͹M>1 $70T9L0) ̜)7@#)T9p#@p U1i( @W#dow2T~+T#-}8`"7B(U":"DOW_K.EMCY_ lU;@.@0#.C)U0 *U.$|P.4MCd EF8j(&U$,920(l*C% 4104&%?.0D"$0 xf *e z8K"0оIYW#dU&HNOMd"@ ̴UIYp#4U@p"To2L*\#<\|8#"4U"P@ ͜+ <@* YqY0U$*l+&qF$4 h-5H%݈Y7Y\#j$+. L|n,0& "- A:j)C0"Q'}<<+,IL#x"|U&j X7j*@&$+#9j+A)+P ͬU;j2"%G>8)@A) +Pe + +.A.x4L+o*A ZD X.A/ RcpE(W8+"W%# 5Wmp*4W$A4"` \H0H""|WMASKBLOCK_#QFoCP 7W-,P#p_:W1, ,P< ,P &,$f &W"e ,7(m MassElem-)mI.W#],$B"xm"(m"pm@"m"W@@&,xj ͵,Q6&pB&-,8(iBP#LW ϕ+t=+"t"t hB 8<4$80 x#<"4 pB" " q"$*s0M#Pber% vationD#ignI$=+#܂.F+@"9""hm@@@"%#m@@T ̽+y$"24#A%U% $S%0?ME#AE#X$BJ#TED +#A2™""؉ p0"&+L344#m0<$ qG$"Xm)'X@@@"ڙ"$@#&̃$m2nP""Lp0 ѡ ("tail%X )ă#@ %xn `% ,  $W>'tW"/@"&W &lW|P# ̥WF$A &B&t, 'o #4ES:@`F@T0#"h00P"D@"p\  )Ro"TA" ipД"i(W"@"Š ]0\H"1TRO#TION1ENWTY w( @#$P"\%$P(IH<#l:" #" $)`['ser^;G;V:?# 0Iu 3 )#l֮RI볦< >$p InAnAKnAKnAKnA2w!p!pedUz%{u%CQ |\t )#lp JnAnAKnAKnAKnAUU0H!{#8_|hNm3_xbXUЕXm &`ZHB\```U!2 2 `IT -UUzhsbh~H*`#A(&pC81$`( Rw8M%~l6lJ*fH{3"Q.ӏ,Z LD/RDZSSUUUUUPp% Ud ~ )qĸ@x)7Mr |- =|H9 U55PT  tR *}P|  Ede!t !A20@ TX 0@$ BJA"dq,t (P ? B}{@|z?|XEO`Spءr? K7^ aH hH pT67771497621:1$`` @  @ @ @@```@`` 3 00h0h0h h00  QQ(Q,QHQ8QkPPPPPPQ9Q:PQ:Q:PPP11$1'1*1-1.1/1517QEQF1 QQGQ QQZQ2QQQ,Q+QQ1QnP D=.0!VG̠x[  )#l֮RI볦<;cA% tR\tt #2t^|] xAcDb:AppInfoHistory \ /^  T `P `n lO] e|7Preview i3|QLQ}5\l7Summary\T \\ \\\]$oRev XYPueTͣ]SPObjects V ^?$]5]|]UQ)\V>]u;Q|]WQDVE])Q|]],p]|]9]V][Q)|X*|SpP H\`_]XSYx1lotS ObjFreeSpace  dGot+Templat XPM.tKHandle X^ݗel7tsClass b3T|PY%r`|P{x/t'AuxHeader Y >dECl ;cA)#l֮RI볦<;cAPl  \@`$$ \ \ \ \\ \\\T\S\\\\\'3q\\\\ !;cAh@* ߦ< >$^ G޳MB>Z}9.]| O; ۮ2?P`x6I2}I܌Olk0;""YN