ЏРРРРРРРРРРРРР ЬЬЬР Р ЬЬЬР РЬ РЬ ЬЬ Р Р РРР Р РРЬ РЬ РЬ Р РРР РР РРР Р РЬ РРРЬЬРР РРЬ Р РРР РЬ Р Ь РЬ Р РЬ Р РЬЬ РЬ Ь РЬР Р ЬЬ ЬЬ ЬЬ РЬРЬ ЬЬ РЬЬЬ Р Р РЬ РЬ РЬРЬ РЬ РЬРР РР Р РРЬ РЬ Р Р РЬ РРР РРРЬЬ Р РЬ РЬ РЬ ЬЬ ЬЬ ЬЬ ЬЬРЬ РЬЬЬ ЬЬЬЬ Ь ЬЬ ЬЬ Ь РЬ Р РЬ ЬЬ РРРРРРР РЬ Р Ь Р ЬЬ ЬР Р Ь Р РЬ РЬЬЬ ЬЬ РЬ РР ЬЬ ЬЬ Р РЬ РЬ РЬЬЬ РЬ РР Р Р Р Р Р Ь РР РР РРРР РРРРЬЬ Р Р ЬЬ Ь Ь РРР РЬРРРРРРЬ РР РЬЬР РЬ РЬ РЬ ЬЬ ЬЬРЬ РЬ РЬ РЬ РЬ ЬЬ РЬЬРЬЬРРРРРЬ РЬ РЬ ЬЬ РЬ Р Ь Р РРРРРР Ь Ь Р Р ЬЬ РЬ РЬЬЬ ЬЬ РЬ РЬ Р Ь РЬ РЬ ЬЬ РЬ Р РЬ РР Р Р Р Ь РР РР РЬ РЬЬЬ Р РЬЬ Р Р Р Р РР РРР Ь РЬан анннна а анна а ааа ааа ааааан аааннаан ан н нан нан ннн ан а н аанн аан а аан нн аааааанн анааа ааан анн РРРРРРЬЬ РРРРЬЬ РР РЬ РЬ ЬЬ Ь ЬР РР Р Р Р РР РРР РР Р Р РРРЬЬРРРРРЬЬ РР РЬ РЬРЬРРРЬ ЬЬ Р РЬЬ ЬЬ Ь ЬЬ Р РЬЬ РРРЬЬ ЬЬ ЬЬРЬ ЬЬ РЬЬЬ РР РЬ РЬ РЬРЬ РЬ РЬРРРРРЬЬРЬЬРЬЬРЬЬР Р РР Р РЬ Р РЬ Р Р РЬРЬ ЬЬ ЬЬ ЬЬ ЬЬРЬ РЬ ЬЬ ЬЬЬЬ ЬЬ ЬЬ ЬЬ ЬЬ РЬ Ь РЬ ЬЬ РЬ РЬЬ РРРРЬ Р ЬР ЬЬ ЬР Ь Р РЬ РЬЬЬ ЬЬ РЬ РР ЬЬ ЬЬ РЬ РЬ ЬЬЬЬ РЬ РРРР РР РР РР РР РРРРЬЬ Р Р ЬЬ Ь Ь РР Р Р Р РЬЬР РЬ РЬ РЬ ЬЬ ЬЬРЬ РЬ РЬ РЬ РЬ ЬЬ РЬЬ РЬЬРРРРЬ РЬ РЬ ЬЬ Ь Р ЬР РРРРР ЬР ЬЬ РЬ РЬЬЬ ЬЬ РЬ РЬ Ь Ь РЬ РЬ ЬЬРЬЬРРРЬ РЬ РРРР РР РР РР РЬ РЬЬЬ Р РЬЬ Р Р Р Р Ь Р РРан анннн анн а ааа аа аннан ааа н аннаа ан аа ааан ан аннЏ РРРРРРЬЬ РРРРЬЬ РР РЬ РЬ ЬЬ Ь Ь Р Р Р Р РРРРР РЬРРРР РР Р Р РРРЬЬРР РРЬЬР РРР РЬ РЬ Р ЬЬ РЬ Р РЬЬ РЬ Ь РЬРЬРР РЬЬ РРЬЬ ЬЬ ЬЬРЬ ЬЬ РЬЬЬ РР РЬ РЬ РЬРЬ РЬ РЬРР РР Р РРЬ РЬ Р Р РЬ РРР РРРЬ Ь Ь РЬ РЬ ЬЬ ЬЬ ЬЬ ЬЬЬ Р РЬ Ь Р ЬЬРЬ ЬЬ РЬ РЬ ЬЬ РЬ Ь РЬ ЬЬ РЬ РЬЬЬ РЬ РЬ Р РЬ РР Ь Р РЬ РЬЬЬ ЬЬ РЬ РР ЬЬ ЬЬ РЬ РЬ ЬЬЬЬ РЬ РР РР РР РР РР ЬЬ Р Р ЬЬ Ь Ь РРР Р Р РР РЬ Р РЬ РЬ РЬ ЬЬ ЬЬРЬ РЬ РЬ РЬ РЬ ЬЬ РЬЬРЬЬРРРРРЬ РЬ РЬ ЬЬ Р Р Ь Р Ь РРРРРРР ЬЬ ЬЬ РЬ РЬЬЬ ЬЬ РЬ РЬ ЬЬ РЬ РЬ ЬЬРРЬЬРРРЬ Р Р РР РР РР РР РЬ РЬЬЬ Р РЬЬ Ь Р Ь Р Ь Р РРР ан анна н а а а а а нн нн а анн анна аа аа аан аннЬЬЬЬРРРРРРЬЬ РРЬЬ РРРЬ РЬ ЬЬ Р Р Р Р РР РР РР Р РЬ РЬ Р РРЬР Р Р Р РЬЬР Ь Ь РЬЬРЬЬЬРЬ ЬЬР РЬЬЬЬ ЬЬ Р Ь Р РЬЬРЬЬРЬЬ РЬЬ ЬЬЬР ЬЬРЬЬЬЬЬ РЬЬЬ Р ЬР ЬРЬЬ РЬЬ РЬРЬЬ РЬ РЬР Р Р Р Р Р Р РР Р РРЬРЬР Р РРЬ Р ЬЬРЬ Ь РЬРЬЬ Ь ЬЬ Ь ЬЬЬ ЬЬЬ ЬЬРЬЬ ЬЬ РЬЬЬЬ Ь Ь ЬЬЬЬ ЬЬЬЬЬЬ ЬЬ ЬЬЬЬЬРЬ ЬЬР Ь РЬ Ь Ь ЬЬ Ь Ь РЬ ЬЬЬРЬ ЬЬ Р Р ЬР РЬЬ ЬРЬ ЬРЬ ЬЬЬЬЬЬ ЬР ЬЬ ЬЬ Ь Ь ЬЬ ЬР Ь РЬЬ Ь Ь РЬЬЬЬ Ь ЬЬЬРЬЬ Ь Ь РЬ ЬЬЬ Ь ЬЬЬ РЬ Ь РЬЬ ЬЬРЬ ЬЬЬЬЬ Ь Ь Ь РЬЬ Ь Ь РЬ ЬЬ ЬЬ ЬР Ь Ь РЬЬ Ь Р Р РЬ ЬЬЬЬ ЬР ЬЬЬ Ь Ь Р Р Р Р РР РЬ Р РЬ Р Р РЬ ЬЬЬЬ Ь ЬЬРЬ Ь Ь РЬ Р РЬ Р Р РЬ РЬЬР Ь РЬЬ Р ЬЬ Р Р РЬ Р ЬЬ Р РЬЬЬЬЬ Ь Ь ЬЬЬЬР Р Р Р РЬЬЬ ЬЬЬ Ь Р Р Р Р Ь ЬРЬЬ ЬЬЬ Ь Ь РЬЬ Ь РЬЬЬЬ Ь ЬЬЬРЬ Р Р РЬ Р ЬЬЬ ЬЬРЬ Ь Ь ЬЬР ЬЬ Р Р Ь Ь Ь Ь РЬЬ Ь РЬ ЬЬ ЬР ЬР РЬРЬЬР Р Р РЬ Р РЬЬЬ ЬР ЬЬ Ь Р Ь Р Ь Р РРан аннн а анн на на аннн н ннна нн а а н ан н н аннаа ана н н на ннна нн а а н аннна нн ан аан н ннна на на нннн а аа аа ан н а анн а ан н а нанаа ан ан анн >Р?ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆЬŒЬŒШŒˆˆЬŒШŒˆЬŒШˆЬˆЬŒШŒŒŒШŒЬŒЬŒЬŒˆЬŒШˆŒŒЬŒЬˆˆˆˆˆШŒˆШˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆШˆШˆŒˆˆˆŒŒŒŒˆŒˆŒŒŒŒШˆŒˆŒŒŒˆШˆŒˆЬŒˆЬŒŒŒŒŒŒˆŒŒˆˆˆˆŒŒˆЬˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆШˆШˆŒˆЬŒЬŒŒŒˆЬˆŒŒŒŒШˆШˆШˆШˆШˆЬˆŒŒˆŒŒЬŒЬˆЬˆЬŒˆЬŒˆŒŒˆШˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆШˆШˆŒˆˆˆŒŒŒŒˆŒˆŒŒŒŒШˆˆŒШˆˆŒШˆŒˆŒŒˆŒŒŒŒŒŒŒˆЬˆˆˆˆˆŒŒˆШˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆШˆЬŒШŒˆˆЬŒЬˆˆŒˆШˆŒŒШˆЬˆШˆЬˆШˆЬŒŒŒˆŒŒŒŒŒŒЬŒŒŒˆˆˆˆЬˆŒЬŒˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™ннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннюоннннэнннонннннннэонннноэннннннээээоэюнюннэээоэюнюэнннннннннннннннноонннннэннннннноннннюннннннннонэннннннннннннннннннннонэнюнюонэнооэнюононюноонюоэоэоноэюнээнэнннэюнээнээнонннннннннннннннооэоэонюоэоооюонюнюнэнноэоюоэонюоэннооооюнннннннннннюнооооэннюоюнооюонэнооюноэнооюнноээноэоэюэюээноэоээнонннннннннннннннооюноонэнооюнюооооэоэнэнонюооонэноонюнооооннннннннннонооооэннэнонооооннооооноэнюнноноэюэннэээннэюнэнэээнонннннннннннннннооноюннэнюноноооооооэнононоооонэноононооооннннннннннонэноононэнонэноонюнюнононоэоюннээээюэоэюннэээоэоэоэннннннннннннннннэоюнэонноэооноооооюоюоннэоооэонноэннонэоооннннннннннннннннннннннннннннннонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннюоюоэоннюоэонннннннннннннннннннннннннннннннннннннннэююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююонннэнэноннноооонннннннннннннннннннннннннннннннннннннннэ РР Ь РРР онннэнэнонюоюооонннннннннннннннннннннннннннннннннннннннэ РРРРРЬ Ь РРР РР онннэнэноннноооонннннннннннннннннннннннннннннннннннннннэ ЬЬ РРР РРонннэнюоэоннюоюноннннннннннннннннннннннннннннннннннннннэ РРРЬ Р РЬЬРЬЬРоннннннннннннннннннннннннннннннннннннннннннннннннннннннэ РР Р РРонннэоннэннноннннэнннннннэннннннэннннннннннннннннннннннэЬЬ ЬЬ Р Р онннонэоюонэнэнюнюоэоооэоюоэоюонюоооюнэоэонннннннннннннэ РР Р РЬРРРРР онннооооэннюоооооэнюнооюнэнооюонэнюнэооноонннннннннннннэонннооюнэннэнооооэнноэоноэнюноонэнонооонюннннннннннннннэРЬ РЬРЬРЬЬ РЬЬЬ РЬРЬЬ онннэоэононэнэнооноюнноюнноэооонноонюоэоэонннннннннннннэ Р Ь РРРРоннннннннннннннннннннэнннннннннннннннннннннннннннннннннэ РРЬЬЬЬ Р РЬ Ронннннннюнннннноннэннннэннннннноннннюннннннннннннннннннэ РЬ Р РРЬ РР онннооюнэнооэоннюнюоэннюоэоооюонюнюнэннннннннннннннннннэ ЬЬ Р РЬ РЬ Ронннооэоэнооооноооэноонэнооюнюооооэоэннннннннннннннннннэ Р Р Р РРонннооооэнооюнноооэноонэнюноноооооооэннннннннннннннннннэРЬЬЬ ЬЬ РЬРЬЬРЬ РЬРЬРРонннэнюоюоэоэоноооноэннноэооноооооюоюооннннннннннннннннэоннннннннннннннннннннннннннннннннннннннннннннннннннннннэРЬРЬЬЬЬ Ь РЬ РЬ РЬ РЬЬЬ РРЬ РЬоннннннннннннннннннннннннннннннннннннннннннннннннннннннэ Р Р Р оннннннннннннннннннннннннннннннннннннннннннннннннннннннэ Ь ЬЬ ЬЬЬЬ ЬЬ Р оннннннннннннннннннннннннннннннннннннннннннннннннннннннэ Ь Ь оннннннннннннннннннннннннннннннннннннннннннннннннннннннэ Ь ЬЬ Р оннннннннннннннннннннннннннннннннннннннннннннннннннннннэ Р оннннннннннннннннннннннннннннннннннннннннннннннннннннннэРЬ ЬЬРЬ ЬЬРЬ РЬ РЬЬ РЬ РЬонннюнннннннннноооонноонэннннэнннннннннннннннннннннннннэонннооооэоэоэонооооюноонюоэннюоооюнэоэоннннннннннннннннэЬЬРЬЬЬРЬ ЬЬ ЬЬ Ь Р онннюнюнооюнюнннноооонннэноонэнюнэоонооннннннннннннннннэ РРонннононюннононнноооонннэноонэнонооонюнннннннннннннннннэ РР Р Р онннононэоюнюннннэоюннннноэннноонюоэоэоннннннннннннннннэ РЬ РР Р оннннннннннннннннннонннннннннннннннннннннннннннннннннннэЬЬ ЬЬ РР Р Р онннноннннэнннннннэннннннннннннннннннннннннннннннннннннэ Р РР онннэнэнюнюоэоооэоюоэоюонннннннннннннннннннннннннннннннэ Р ЬЬ РЬ РР ЬЬ Ь Р РЬ онннюоооооэнюнооюнэнооюонннннннннннннннннннннннннннннннэонннэнооооэнноэоноэнюноонннннннннннннннннннннннннннннннэР Ь Ронннэнэнооноюнноюнноэооооннннннннннннннннннннннннннннннэ Р РонннннннннннннэннннннннннннннннннннннннннннннннннннннннэРЬЬЬРЬРЬ РЬЬЬРЬЬЬР Р РРЬЬ ЬРЬонннюннннннннннооюннннннноонэннннэнннннннннннннннннннннэ Р Р Ь онннооооэоэоэонооооэнооюноонюоэннюоооюнэоэоннннннннннннэРЬ ЬЬ РРЬ ЬР онннюнюнооюнюнннноооооооонннэноонэнюнэоонооннннннннннннэ Р Р онннононюннононннооооюооонннэноонэнонооонюнннннннннннннэРЬ ЬЬРЬРЬ РЬРРЬ Ь Р РЬонннононэоюнюннннюнэнюооонннноэннноонюоэоэоннннннннннннэоннннннннннннннннннннннннннннннннннннннннннннннннннннннэРЬ Р онннннннннюнюнноннннэннннннннннннннннннннннннннннннннннэР онннэоюоюнэнэнэнэнюнюонннннннннннннннннннннннннннннннннэЬЬРЬ ЬРЬ ЬЬ ЬЬ онннюнюоэоэнэнюоооооэннннннннннннннннннннннннннннннннннэ Ь Р РР РР ЬРРРонннноооооэнэнэнооооэннннннннннннннннннннннннннннннннннэ РЬР РЬ онннюнооюоюоюоэнэноонооннннннннннннннннннннннннннннннннэЬЬРЬ Р Р РР РР Р оннннннннннннннннннннннннннннннннннннннннннннннннннннннэ ЬЬЬР РР РЬЬЬ Ь Р оннннннннннннннннннннннннннннннннннннннннннннннннннннннэоннннннннннннннннннннннннннннннннннннннннннннннннннннннэююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююююонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннюоннннэнннноэноннюнюнюоюнюоэнннэнннонннннннюнэнюонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннонэнюнюоноонюоюннооооэнооэноннннонэнооэнюонооооюонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннюнооооэнноооэноонюнюоэнооэноннннонюоюнооюонюоюооонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннонооооэннюооэноононюнэнооэноннннонэноноооонюноооонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннонэноононюоонооононооюоооэнэээээннэнонэноонооооооннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэюююююююююююююююююююююююююююююююююююююююююююююююонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџќќќџџџџќџЬџќџќџЯџќќЯЯџџџџџџџџџџќџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџќќќЯЯџЯЬќЬџќЯЯџЯЯџЯџќџЯџџџџџџџџќџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџќџџЬЬќќќџџЯџЯЯџџЯџЯЯЯџЯџџџџџџџЯџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџќџџЯЯџЯЬџџќџЯќџџЯџЯџџЯЬЬџџЬЬќџЯџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџќџџЯЯџџќќЯџџќџќџЯџЯџџџЯџџџџџџџЯџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџЬЬќЬЬџќЯќќџќџЯџЯџџџЯџџќџџџџќџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџќџџЯЯџџќџќЯќЯЬЯџџќќџџџџџЯџџџџќќџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЯЬџџќџЯЬџЯЬџџЯџЬЬќЯЬџЬЬќЯЬџЯЬџџџџџџџџџџЯЬџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќЯќџќџќќџќџЬџќџџќџџџџќќџќќџќџџџЯџџџќџќџќџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќџќџџџќџџќЯЯџЬЬџЬЬџџџќќџќќџќќЯџќЯЬќЯџџџќџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќџќџџЯџџЬџќЯџџџќќџќџЯџЯЬџќџќџџЯџџџџџќџЯџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќџќџџќџџџќЬЬќџџќќџќџЯџќџќЯЬќџџџќЯЬќЯџџќџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќџќџЯџџќџќџЯџџџќќџќџќџќџќџџќќЯџЯџџџќџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЯЬџЬЬќЬЬќЯЬџџЯџЬЬџЯЬџџќџЯЬџЯЬџџќџџџџџџџџќџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЯЬџЯЬџЬЬџџЬќЬќџЯЬќЯЬќЯЬџќџќЬќЬЬќќџќќџџЯЯџЬќџЯЬџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќќџќќџќЯџџќЯџќџџќџџќџќќџќЯџџџќќџќќџџќќќќЯџќџќонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќЬќќџќЬЬџќџџќџќЬЬџЬЬџќџџЬЬќЯџџџќќЯџќџџќќќќџќќџќонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќќќќџќќџќќџџќџќќџџќџџќЬќќџќЯџџџќЬќџќџџќќќќџќќџќонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќЬќЬЬќќџќќџџќџќќџџќџџќџќќџќЯџџџќќЯџќџџќќќќџќќџќонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџџќџќќџќќџџќџќќџџќџџќџќќџќЯџџЯџќџќќџџќќќќџќќџќонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЯЬќќџќЬЬџЯЬќЬЬџЯЬќќџџЯЬџќџќЬќЬќџќџќЯЬќќџќќџќЯЬџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЬЬџЯЬџЬЬџЯЬќЬЬќќџќќџќќџќќџќќџќЬЬќЬЯџЯќџќџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќќџќќџќќџџџќџќџќќџќќџќќџќќџќџџќќЯџџќЯЯџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќќџќќџќќџџџќџќџќќџќќќќЯЯџќџќџЯџќџќџќќџќџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќќџќќџќЯЬџџќџќџќќџќќќќџќџЯЯџџќџќџќџќџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЬЬџќќќЬЬџџџќџќџќџќќџќќќќЯЯџџќџЯџџќџќџќџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџџќЯџќџќџџќџќџќџќЯЯџќќќќџќџќџќџџќџЯџќџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџџЯќќќџќЬЬџџќџЯЬџџќџЯЯџќџќџќџЬЬќЬџЯЯќџџџЬЬџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџџџЯџџџџџџџќџџџџЬџџџЯџџџќџќќџЯџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЯџџџЯџџџџџџџќџџџЯџџџџЯџџџџџџќџЯџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџЬќЯЬќџЬќЯЬќЯЬџЬЬџЬќЯЬќЯќЯќќЯЯџЬЬџќЬџЯЬџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџЯЯџЯЯџџќџќќџќЯџЯџЯЯџЯџќџќќќЯџќќќЬџќќџќџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџЬЬЯџЯЯџџќџќЬЬќЯџџЬЬЯџЯџќџќЬџЯџќќќќџќќџќџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџЯџЯЯџЯЯџџќџќќџџЯџџџЯЯџЯџќџќќќЯџќќќќџќќџќџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџЬЬЯЬќџЬќЯЬќЯЬџЯџџЬќЯџЯџќЬџќЯџќќќќќџќЯЬџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџЯќќЬџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџќџџџџџџџџџџџџџџџџџџџЯџќЯџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЬЬџЯЬќќЬџЬЬЯЬќќџќќџќќџќќџќќџќЬЬќЯџќЯџЯџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќќџќЬџЯџџџќџќџќќџќќќќЯЯџќџќџЯџЬџќЯќќќќџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџќќџќќџџЬќџќџќџќќџќќќќџќџЯЬќџќџЯџќЯџџЯџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэЬЬџЯЬќќџџџЯџќџќЯќЯЯџќќќЯЯџџџќЯџџЯџќЯџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэќџџџџќќџЯЬќџЯќЯќќџќџЯЯџќџќЯЬџЬЬќЯќќЬџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџџонннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннэюююююююююююююююююююююююююююююююююююююююююююююююоннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннюннннннннннооюооонэнннннннноэнннонннооннннноннноннюнннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннооооэоэоэоноооноонюоэннэооонюоэоюннэннооэоэоюоэнюнэнэоэоннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннюнюнооюнюннннюннннэноонюноооэноноонюооэнооооннюоэоэнюнооннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннононюннононнноннннэноонноюооэноноонэноооюнооюоэнооэнноюнннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннононэоюнюнннноннннноэннюнюооноэооонэноооэоэоннэнюоюоюнэоннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннннD-- title: TIC-80 Fontsystem Maker -- author: Yslo -- desc: Tool to edit/create/export font for TIC-80 and use it with PRINT function -- site: -- -- license: TIC-80 Fontsystem Maker by Yslo is marked CC0 1.0. To view a copy of this mark, visit https://creativecommons.org/publicdomain/zero/1.0/ -- version: 0.1 -- script: lua -- Inspiration from TicMcTile by PhilSwiss -- https://github.com/PhilSwiss/ticmctile -- fontsystem/smallfont value compatible with TicMcTile -- Copy/paste function 'tomem' (line 27 to 38) -- Call 'tomen(fontsystem/smallfont)' with fontsystem/smallfont value -- You can call into BOOT function. -- (e.g. with M5x7 font) -- fontsystem="28E08be00000000000000004040404040004000a0a000000000000000a0f1a0a0f1a00040e150e041f04000313180402091910040a0a0601111e2002020000000000000020101010101020020404040404020005020500000000000008080e3808000000000000000402000000000e30000000000000000000020004040202020101000e01111111111e000406040404040f100e01101804020f100e01101c00111e00080c0a090f1808000f110f0010101f000e010f0111111e000f101018080404000e01111e01111e000e0111111e101e0000000200000200000000040000040200000804020408000000000e100e10000000020408040200000c122020180008000e011d151d110e100e0111111f1111100f011f0111111f000c12010101010e100709011111111f000e110f0101010e100e110f01010101000e01110d11111e0001111f11111111100e04040404040e000f1010101018070001111907090111100101010101010e100a0515151515111007090111111111100e01111111111e000f0111111f0101000e011111151906100f0111111f0111100e11010e00101f000f140404040404000111111111111e0001111111111a04000111151515151a0001111a040a0111100111111a040404000f10180402010f100c04040404040c0001010202020404000604040404040600040a0110000000000000000000000e10020400000000000000000e001e111e1001010f0111111f0000000e0101010e0000101e1111111e1000000e011f110e000c020f020202020000000e011e101e0001010f0111111110040006040404040004000604040403000101090503050900020202020202040000000f051515151000000d031111111000000e0111111e0000000f01111f010000000e11111e101000000d030101010000000e110e001f0002020f0202020c00000001111119161000000111111a04000000011515151a000000011a040a0110000001111e101e0000000f1804020f100c04040604040c0004040404040404000604040c040406000000040a201000000" -- tomem(fontsystem) -- Sample fonts (altered to work with TIC-80) : -- > PixelOperator by Jayvee Enaguas (#0-#94): https://www.dafont.com/pixel-operator.font -- > PX 5x6 by Qimplef (#128-#222): https://fontstruct.com/fontstructions/show/521592/px_5x6_1 -- > M5x7 by Managore (#256-#350): https://managore.itch.io/m5x7 -- RAM decoder function tomem(str) local o=tonumber(str:sub(1,5),16) -- get (o)ffset local w=tonumber(str:sub(6,7),16)*8-1 -- get (w)idth local d=str:sub(8) -- remove header to get (d)ata local y=0 for x=1,#d do -- write to mem poke4(o+y,tonumber(d:sub(x,x),16)) -- get (c)olor value y=y+1 if y>w then y=0 o=o+1024 end end end -- Convert 4-bit binary string to hexadecimal function bin4hex(bin) local d=tonumber(bin,2) return string.format("%x",d) end -- Reverse 4-bits string ('0' or '1') -- 4-bits have to be reversed => https://github.com/nesbox/TIC-80/wiki/peek function r4bits(bin) return bin:sub(4,4)..bin:sub(3,3)..bin:sub(2,2)..bin:sub(1,1) end -- Export fontsystem from screen function exportFontsystem(x0,y0,threshold) local h="28E08be" -- (h)eader with offset and width if headerSelector==2 then h="29608be" end -- (h)eader smallfont local fs=h -- (f)ont(s)ystem value for yt=0,5 do for xt=0,15 do for y=0,7 do local b={} -- Table to store (b)its for x=0,7 do local c=pix(x+xt*8+x0,y+yt*8+y0) b[#b+1]=(c>=threshold) and "1" or "0" end local line8b=table.concat(b) local part1=bin4hex(r4bits(line8b:sub(1,4))) local part2=bin4hex(r4bits(line8b:sub(5,8))) fs=fs..part1..part2 end end end return fs:sub(1,-17) -- Remove last empty character and return fontsystem(fs) and end function BOOT() chars={ " !\"#$%&'()*+,-./", "0123456789:;<=>?", "@ABCDEFGHIJKLMNO", "PQRSTUVWXYZ[\\]^_", "`abcdefghijklmno", "pqrstuvwxyz{|}~" } headerSelector=1 displayOnce=false exportOnce=false fontFixed=false fontsystem="" -- Font RAM max width fRamMaxW=0 -- Font Sprite position x0=8 y0=8+11 -- Font RAM position y0Ram=72+6 end function TIC() cls(13) -- Header rect(0,0,240,8,8) rect(0,8,240,1,9) print("TIC-80 FONTSYSTEM MAKER - 0.1",8,2,12,fasle,1,true) -- Export fontsystem pressing Up if btnp(0,60,-1) then exportOnce=false headerSelector=1 end -- Export smallfont pressing Down if btnp(1,60,-1) then exportOnce=false headerSelector=2 end -- Switch fixed font if keyp(06,60,-1) then fontFixed=not fontFixed fRamMaxW=0 end -- Display sprites to generate fontsystem print("Font from Sprites (#256-#350)",x0,y0-8,14,fasle,1,true) spr(256,x0,y0,-1,1,0,0,16,6) rectb(x0-1,y0-1,16*8+2,6*8+2,14) if exportOnce==false then fontsystem=exportFontsystem(x0,y0,8) if not displayOnce then tomem(fontsystem) displayOnce=true end if headerSelector==1 then trace("fontsystem=\""..fontsystem.."\"") else trace("smallfont=\""..fontsystem.."\"") end exportOnce=true end -- Display font with print function -- https://github.com/nesbox/TIC-80/wiki/print -- Get RAM font max width for i=1,#chars do local charsWidth=print(chars[i],0,-8,0,fontFixed) if charsWidth>fRamMaxW then fRamMaxW=charsWidth end end -- Window RAM font rect(x0,y0Ram,fRamMaxW,6*8,15) rectb(x0-1,y0Ram-1,fRamMaxW+2,6*8+2,14) print("Font with PRINT(...) from RAM",x0,y0Ram-8,14,fasle,1,true) for i=1,#chars do print(chars[i],x0,(i*8)+y0Ram-8,12,fontFixed) end fontFixedTxt=fontFixed and "true" or "false" print("Press \"F\" to switch fixed="..fontFixedTxt,x0,y0Ram+6*8+3,14,fasle,1,true) print("Use terminal/cmd to run\nTIC-80.\nGet fontsystem trace\nvalue into terminal.\n\nPress \"Up\" to trace\nfontsystem.\nPress \"Down\" to trace\nsmallfont.",144,y0-8,14,fasle,1,true) end