Π‘Π»Π΅Π΄ ΡΠ΅ΡΠΈΡΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π΅ ΠΎΡΠΎΡΠΌΠ΅Π½Π° ΠΏΡΡΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera (0.0.1), ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΠ° ΡΠΎΡΡΡΠ΅ΡΠ΅Π½ ΡΡΠ΅ΠΊ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅ΡΠΈ, ΡΠΎΡΠΎΠ°ΠΏΠ°ΡΠ°ΡΠΈ ΠΈ Π’Π ΡΡΠ½Π΅ΡΠΈ Π² Linux, Android ΠΈ ChromeOS, ΠΊΠΎΡΡΠΎ ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠ°Π²Π° ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° API V4L2 ΠΈ Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ ΡΠ΅ Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ. Π’ΡΠΉ ΠΊΠ°ΡΠΎ API Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΈ Π½Π΅ Π΅ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»Π½ΠΎ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠ°Π½, ΠΏΡΠΎΠ΅ΠΊΡΡΡ Π΅ ΡΠ°Π·Π²ΠΈΠ²Π°Π½ Π±Π΅Π· ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π²Π΅ΡΡΠΈΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΌΠΎΠ΄Π΅Π»Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°. Π ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° Π½ΡΠΆΠ΄Π°ΡΠ° Π½Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈΡΠ΅ Π΄Π° ΡΠ»Π΅Π΄ΡΡ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² API, Π²Π»ΠΈΡΠ΅ΡΠΈ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ°, ΠΈ Π·Π° Π΄Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ°ΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π² ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΡΠ΅Π³Π° ΡΠ΅ Π²Π·ΠΈΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΠΎΡΠΎΡΠΌΡΡ ΠΈΠ·Π΄Π°Π½ΠΈΡ, ΠΎΡΡΠ°Π·ΡΠ²Π°ΡΠΈ ΡΡΠ΅ΠΏΠ΅Π½ΡΠ° Π½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π² ABI ΠΈ API. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·Π° LGPLv2.1.
ΠΡΠΎΠ΅ΠΊΡΡΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π° ΠΎΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux Π² ΡΡΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Ρ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ Ρ ΡΠ΅Π» Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡΡΠ° Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ Π·Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² Linux, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ. ΠΠ΅ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΡ Π² ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux API V4L2 Π½ΡΠΊΠΎΠ³Π° Π΅ Π±ΠΈΠ» ΡΡΠ·Π΄Π°Π΄Π΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ΅Π±ΠΊΠ°ΠΌΠ΅ΡΠΈ ΠΈ Π΅ ΡΠ»Π°Π±ΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ ΠΊΡΠΌ Π½ΠΎΠ²Π°ΡΠ° ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ Π·Π° ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° MCU Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ CPU.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΠΊΠ°ΠΌΠ΅ΡΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ Π·Π° ΠΏΡΡΠ²ΠΈΡΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ Π² ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΏΡΠΎΡΠ΅ΡΠΎΡ (MCU), ΠΏΡΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π·Π° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ CPU ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΡΠ»ΠΎΠΆΠ΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ, Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π½Π΅ΠΎΡΠΊΡΠΈΡΠΈ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ. Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° libcamera ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ½ΠΈΡΠΈΡΠ΅ Π½Π° Π‘ΠΠ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π°Ρ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΠ½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΎΡ Π΅Π΄Π½Π° ΡΡΡΠ°Π½Π° ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ²Π°ΡΠΎ Π½ΡΠΆΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄, Π° ΠΎΡ Π΄ΡΡΠ³Π° β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΎ Π·Π°ΡΠΈΡΠ° Π½Π° ΠΈΠ½ΡΠ΅Π»Π΅ΠΊΡΡΠ°Π»Π½Π°ΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ.
ΠΡΠ΅Π΄Π»Π°Π³Π°Π½ΠΈΡΡ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° libcamera ΡΡΠ΅ΠΊ Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ. ΠΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ Π·Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ Ρ API V4L, Gstreamer ΠΈ Android Camera HAL. Π‘ΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈΡΠ΅ Π·Π° Π²ΡΡΠΊΠ° ΠΊΠ°ΠΌΠ΅ΡΠ° ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ ΡΠ° ΠΎΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π² ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΡΠ΅Π· IPC. ΠΠΎΠ΄ΡΠ»ΠΈΡΠ΅ Π½ΡΠΌΠ°Ρ ΠΏΡΡΠΊ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΡΠΎ ΠΈ ΡΠ΅ ΠΎΠ±ΡΡΡΠ°Ρ ΠΊΡΠΌ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ ΡΡΠ΅Π· ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ API, Π·Π°ΡΠ²ΠΊΠΈ ΠΏΡΠ΅Π· ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ, ΡΠΈΠ»ΡΡΠΈΡΠ°Ρ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Ρ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ°, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ°ΡΠ°.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ (ΠΊΠΎΡΠ΅ΠΊΡΠΈΡ Π½Π° Π±Π°Π»Π°Π½ΡΠ° Π½Π° Π±ΡΠ»ΠΎΡΠΎ, ΠΏΡΠ΅ΠΌΠ°Ρ
Π²Π°Π½Π΅ Π½Π° ΡΡΠΌ, ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, Π°Π²ΡΠΎΡΠΎΠΊΡΡ, ΠΈΠ·Π±ΠΎΡ Π½Π° Π΅ΠΊΡΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ Ρ.Π½.), ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈ Π²ΡΠ½ΡΠ½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΠΏΡΠΈΠ΅ΡΠ°ΡΠ½ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ. API ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ Π²ΡΠ½ΡΠ½ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΊΠ°ΠΌΠ΅ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠΈΠ»ΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ ΠΈ ΡΠ°Π·ΠΊΠ°ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°Ρ
Π²Π°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ ΠΊΠ°ΠΌΠ΅ΡΠΈΡΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΠΊΠ°Π΄ΡΠΈ ΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ Ρ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ²Π΅ΡΠΊΠ°Π²ΠΈΡΠ°ΡΠ°. ΠΡΠ·ΠΌΠΎΠΆΠ½Π° Π΅ ΠΎΡΠ΄Π΅Π»Π½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ°ΠΌΠ΅ΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Ρ
Π²Π°ΡΠ°Π½Π΅ Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ Π΅Π΄Π½Π° ΠΊΠ°ΠΌΠ΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄ΠΈΠ½ Ρ Π½ΠΈΡΠΊΠ° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡ Π·Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅ΡΠ΅Π½ΡΠΈΡ, Π° Π΄ΡΡΠ³ Ρ Π²ΠΈΡΠΎΠΊΠ° ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΡ Π·Π° Π°ΡΡ
ΠΈΠ²Π½ΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠΊ).
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
