Кіріспе
Ресурс бұрамасы — Apple компаниясының macOS операциялық жүйесіндегі файлдың бөлігі, ол құрылымдалған деректерді сақтау үшін қолданылады. Бұл файлдың екі бөлігінің бірі, деректер бұрамасымен қатар, ол операциялық жүйе құрылымдалмаған деп қабылдайтын деректерді сақтайды. Ресурс бұрамасы белгілі бір форматта ақпаратты сақтайды, оған иконаның биттік карталары, терезелердің пішіндері, мәзірлердің анықтамалары және олардың ішкі мазмұны, сондай-ақ қосымша коды (машина коды) сияқты деректер кіреді. Мысалы, мәтін өңдеу файлы мәтінін деректер бұрамасында сақтай алады, ал сол файлдың ресурс бұрамасында кіріктірілген кескіндерді сақтайды. Ресурс бұрамасын көбінесе атқарылатын файлдар пайдаланады, бірақ кез келген файлда ресурс бұрамасы болуы мүмкін. 1986 жылғы техникалық хабарламада Apple компаниясы әзірлеушілерге файлдың ресурс бұрамасына жалпы деректерді салмауды қатаң түрде ұсынды. Apple компаниясының мәлімдемесіне сәйкес, жүйелік бағдарламалық құралдардың кейбір бөліктері ресурс бұрамасында тек жарамды Ресурс Менеджер ақпаратының болуына тәуелді. Ресурс бұрамасын Apple бағдарламашысы Брюс Хорн ойлап тапты және жүзеге асырды.
Ресурс идентификаторлары
Әрбір ресурстың OSType идентификаторы (төрт байттық мән), ID (таңбаланған 16 биттік сөз) және қосымша атауы бар. Диалогтар (DITL), кескіндер (PICT), дыбыстар (snd) және атқарылатын бинарлық файлдар (CODE) үшін стандартталған ресурс түрлері бар, олар PowerPC процессоры пайда болғанға дейін міндетті түрде ресурс бөлімінде сақталған. Терезелерді көрсетуге арналған кіші бағдарламалар өздерінің ресурс түрінде (WDEF), ал мәзірлерді көрсетуге арналған кіші бағдарламалар өздерінің ресурс түрінде (MDEF) сақталады. Бұл құрылым пайдаланушыларға тек жеке қолданбаларды ғана емес, сонымен қатар операциялық жүйені де оңай бейімдеуге мүмкіндік берді. ResEdit сияқты құралдарды пайдалану арқылы қолданба файлының немесе кез келген жүйелік файлдың ресурстарын өзгертуге болады. Қолданбаның немесе басқа кодтың ішінде ресурстарды ресурс бөлімінде қалай және қайда сақталғанына қарамастан, олардың түрі, идентификаторы немесе атауының комбинациясын пайдаланып жүктеуге болады. Клиентке жүктелген ресурсқа арналған дескриптор қайтарылады, содан кейін оған кез келген басқа үйірмеге негізделген деректер сияқты қол жеткізуге болады. Мұны қамтамасыз ететін ОЖ компоненті – Ресурс Менеджері. Деректерді сақтау ерекшеліктерін деректерден абстракциялаумен қатар, Ресурс Менеджері ашық ресурс бөлімдерін стекке жинақтайды, ең соңғы ашылған файл стектің үстінде орналасады. Ресурсты жүктеуге тырысқанда, ол бірінші кезекте стектегі жоғарғы бөліктен іздейді (мысалы, ағымдағы құжаттың ресурс бөлімі), содан кейін төменгі бөліктен (қолданбаның ресурс бөлімі), содан кейін келесі бөліктен (жүйелік ресурс бөлімдері). Бұл құрылым өте қуатты, ол жергілікті ресурстарға төменгі деңгейдегі жаһандық ресурстарды жоюға мүмкіндік береді, сондықтан қолданба стандартты жүйелік белгішелердің немесе қаріптердің орнына өзінің белгішелерін немесе қаріптерін ұсына алады. Сондай-ақ, қолданбаға басқа ресурстар сияқты бірдей API-ді пайдалану арқылы жүйеден ресурстарды жүктеуге мүмкіндік береді, ресурстың қайда немесе қалай сақталғанына қарамастан, барлық ресурстар бірдей қолжетімді және пайдалануға оңай. Жүйе ресурс идентификаторларын белгілі бір диапазонға бөліп, осыған байланысты туындайтын ресурс қақтығыстарын болдырмауға көмектеседі. Ресурс Менеджерінің API-лері бағдарламашыға стекпен жұмыс істеуге және іздеу әрекетін өзгертуге мүмкіндік береді.
Өңдеу
Ресурс бұрамасы ResEdit сияқты ресурс редакторымен өңделуі мүмкін болғандықтан, оны бағдарламалық жасақтаманы жергіліктілендіру және бейімдеу үшін пайдалануға болады. Сонымен қатар, көптеген ресурс редакторлары деректерді визуальды түрде өңдеуге мүмкіндік береді. macOS жүйесінде қолданбаны әзірлеу кезінде ресурстарды пайдалануға болады. Дегенмен, егер қолданба UFS жүйесінде пайдаланылуы мүмкін болса, оны Raw Resource File параметрін пайдаланып, толық ресурс бұрамасын дерек бұрамасына жылжыту үшін конфигурациялауға болады. Apple Inc. компаниясы тегін тарататын, MPW және Apple Developer's Tools сияқты интеграцияланған даму орталары Rez деп аталатын компиляторды қамтиды. Бұл, сондай-ақ Rez деп аталатын арнайы тіл, бастапқы кодты компиляциялау арқылы ресурс бұрамасын жасау үшін қолданылады. Ресурс бұрамасын Rez кодына кері түрлендіруге мүмкіндік беретін DeRez декомпиляторы да бар. Ресурс бұрамасының құрылымында ресурс деректері элементтерінің орналасқан жерін сақтайтын «ресурс картасы» деп аталатын дерек бөлігі бар. Бұл анықталған идентификаторлар мен атаулар негізінде ресурс деректеріне кездейсоқ қол жеткізуді қамтамасыз ету үшін пайдаланылуы мүмкін. Ресурс бұрамасын негізінен екі объектіден – ресурс картасынан және ресурс деректерінен тұратын деп есептеуге болады, бірақ шындығында әрбір дерек түрі бірнеше дерек элементін сақтайтын иерархиялық құрылым болып табылады. Ресурс деректеріндегі ақпарат сақталатын формат «ресурс түрлері» деп аталатын ақпарат түрлеріне сәйкес анықталады. Ресурс деректері көбінесе басқа дерек түрлеріне сілтеме жасайды. macOS жүйесінде бұрамалар file/namedfork/forkname деп аталады, мысалы, IMG 0593.jpg файлының ресурс бұрамасы IMG 0593.jpg/namedfork/rsrc болады. ls командасы файлдың бұрамаларын тізімдейтін l@ опциясын қолдайды.
Деректер түрлері
Ресурстық вилканы құрайтын ең кіші элементтер дерек түрлері деп аталады. Бірнеше дерек түрі бар. Ресурстық вилкаға қол жеткізгеннен кейін, оның мазмұнын алдын ала анықталған дерек түрлеріне сәйкес оқып табуға болады. Бағдарлама ішінде деректерді қалай өңдеу керектігін көрсететін анықтамаларды орналастыру TMPL ресурстары деп аталатын ресурстарды сақтауға мүмкіндік береді. Бұл әдісті қолдану ResEdit сияқты бағдарламамен қарағанда деректердің көрінуін арттырады, кейін өңдеуді жеңілдетеді. Macintosh платформасы Motorola (68k және PPC) процессорларымен пайда болғандықтан, деректер үлкен енділік (big endian) форматында дискіге серияланады. Төмендегі тізімде негізгі дерек түрлері алфавиттік тәртіппен келтірілген. Дерек түрінің нақты атауы Сипаттамасы BBIT бинарлық битТек бір логикалық (boolean) мәнді (true немесе false) көрсетеді. Әдетте BBIT саны 8-дің есебі болуы керек. BOOL booleanЛогикалық мәнді көрсетеді. 2 байттан тұрады; 256 – true, ал 0 – false. CHAR символБір байттық символды көрсетеді. CSTR C тізбегіC бағдарламалау тілінде қолданылатын нысандағы тізбекті көрсетеді: байттардың нөлдік символмен аяқталатын тізбегі. DLNG ондық ұзын сөз бүтін саныОндық ұзын сөз (4 байттық бүтін сан). Шамамен -2,1 миллиардтан 2,1 миллиардқа дейінгі мәндерді көрсетеді. HEXD гекс дампБұл позициядан соңына дейінгі деректер гексадецималдық форматта екенін көрсетеді. Бұл код ресурстарын немесе сығылған деректерді көрсету үшін қолданылады. HLNG ұзын сөз гексадецималБұл деректер 4 байттық гексадецималдық сан ретінде қарастырылады. Ол, басқалармен қатар, 2,1 миллиардтан асатын бүтін сандарды, мысалы, C тіліндегі белгісіз ұзын санды көрсету үшін қолданылады. PSTR Pascal тізбегіPascal тізбегін көрсетеді, ал бірінші байт тізбектің ұзындығын көрсетеді. TNAM түрінің атауыҚұрастырушы коды сияқты, әрқашан 4 байт болатын мәнді көрсететін тізбек. RECT тіктөртбұрышТіктөртбұрыштың төрт бұрышының координаталарын көрсетеді (жоғары, сол, төмен, оң). Әрқашан 8 байтты құрайды.
Түрлері
Төмендегі типтік кодтар, жоғарыда көрсетілген дерек түрлері сияқты, тек ресурс бұрамасы үшін ғана емес, типтік идентификаторлар ретінде де қолданылады: олар файлдың өзін анықтау үшін, құрылғы тақтасындағы деректерді сипаттау үшін және тағы да басқалар үшін пайдаланылады. Типтер 4 байттан тұруы керек, сондықтан snd және STR сияқты типтердің соңында бос орын (0x20) болады. Ресурс түрінің атауы нақты атауы Сипаттамасы alis alias Файлдың ресурстық бұрамасындағы басқа файлға сілтеме сақтайды, егер оның "alias" атрибуты қойылған болса ALRT alert Қолданба ескерту терезесінің пішінін анықтайды APPL application Қолданба туралы ақпаратты сақтайды BNDL bundle Қолданбада қолданылатын файл түрінің белгішесі сияқты деректерді анықтайды cicn color icon Деректерде қолданылатын түсті белгішені анықтайды clut color look up table Деректерде қолданылатын түсті палитраны анықтайды CNTL control Терезенің ішінде орналасқан компоненттің егжей-тегжейін анықтайды CODE code resource Бағдарламаның машиналық кодын сақтайды CURS cursor 8 × 8 биттік монохромды курсордың пішінін анықтайды DITL dialog item list Терезенің компонентін анықтайды DLOG dialog Қолданба үшін диалог терезесінің пішінін анықтайды FREF file reference Қолданбамен өңделетін файл түрін анықтайды hfdr icon balloon help Курсор файлдың үстінен өткен кезде Finder-де көрсетілетін көпіршік көмегінің мазмұны мен пішінін анықтайды icl8 8 bit icon list Finder-де көрсетілетін белгішені анықтайды icns 32 bit icon list Finder-де көрсетілетін белгішені анықтайды ICON icon Деректерде қолданылатын монохромды элементті анықтайды kind file description Файл түрінің сипаттамасын анықтайды MBAR menu bar Қолданба үшін мәзір мен мәзір жолағын анықтайды MDEF menu definition Қолданба үшін мәзірді анықтайды. Түсті палитралар сияқты күрделі пішіндері бар мәзірлерді анықтау үшін де қолданылуы мүмкін MENU menu Қолданбадағы мәзір элементтерін анықтайды MooV movie QuickTime фильмін сақтайды open open Қолданба аша алатын файл түрін анықтайды PICT picture Файлға енген PICT суретін сақтайды PREF preference Қолданбаның орта параметрлерін сақтайды snd sound Файлде қолданылатын дыбысты сақтайды STR string Файлде қолданылатын жол немесе ондық деректерді сақтайды STR# string list Файлде қолданылатын бірнеше жол сақтайды styl style Мәтіннің шрифті, түсі және мөлшері сияқты стиль туралы ақпаратты анықтайды TEXT text Мәтінді сақтайды TMPL template Ресурс деректерінің форматын анықтайды vers version Файлдың нұсқасын немесе пайдалану аймағын анықтайды WDEF window definition Қолданба үшін терезені анықтайды. Белгісіз пішінді терезелерді де анықтауға болады WIND window Қолданба терезесінің пішінін анықтайды.
Басшылар
ResEdit Apple компаниясы тарапынан тегін таратылады. Ресурс деректерін визуальды түрде өңдеуге арналған. Деректердің құрылымы белгілі болса, әртүрлі типтегі деректерді визуальды форматта көрсетуге болады. Қазіргі macOS жүйелерінде жұмыс істемейді. Resorcerer – ResEdit-ке қарағанда көбірек дерек түрлерін визуальды өңдеуге мүмкіндік береді, бірақ қымбат, бірақ танымал. HexEdit – екілік редактор, көбінесе ресурс түрінен гөрі деректерді өңдеу үшін қолданылады. ResKnife – Mac OS X үшін ашық кодты редактор; енді қолдау көрсетілмейді. Rezycle – ресурс бұтағынан ресурстарды жеке бинарлық файлдарға шығарып, оларды көптеген түрлерін қазіргі заманғы әзірлеуге қолайлы форматтарға түрлендіретін macOS құралы. resource dasm – macOS және Linux үшін ашық кодты ресурс экстракторы, сонымен қатар көптеген ресурстарды қазіргі заманғы форматтарға түрлендіре алады. ResForge – macOS үшін ресурс редакторы, классикалық ресурс бұтағы файлдарын және байланысты форматтарды өңдеуге қабілетті. macOS 10.14 немесе одан кейінгі нұсқаларымен үйлесімді. 64 биттік Intel және Apple Silicon процессорларында түпнұсқалық түрде жұмыс істейді.
Бір-біріне үйлесімділік
Ресурс бұрамаларымен бағдарламалаудың күрделілігі AFP, SMB, NFS және FTP сияқты файл алмасу протоколдары арқылы басқа файлдық жүйелерге қол жеткізу кезінде, HFS емес томдарға сақтау кезінде немесе файлдарды басқа жүйелерге басқа тәсілдермен (мысалы, электрондық пошта арқылы) жіберу кезінде үйлесімсіздік проблемаларына әкелді. AFP протоколы ресурстық бұрамаларды табиғи түрде қолдайды, сондықтан ресурстық бұрамалар әдетте осы томдарға өзгеріссіз жіберіледі және сервер клиенттерге көрінбей сақтайды. SMB протоколы Macintosh форктарына ұқсас файл метадеректері жүйесін қолдайды, ол Alternate Data Streams (әрі қарай ADSes) деп аталады. Mac OS X v10.6 дейін SMB томдарында ADSes арқылы ресурстық бұрамаларды сақтау әдепкі бойынша қолдау көрсетілмеді. Операциялық жүйенің бұрынғы нұсқаларында, соның ішінде 10.6 нұсқасының жаңартылған түрлерінде, бұл мүмкіндікті параметрлерді өзгерту арқылы немесе арнайы файл құру арқылы қосуға болады. NFSv3 және FTP сияқты желілік файл алмасу протоколдары файл метадеректерінің ұғымын қамтымайды, сондықтан ресурстық бұрамаларды табиғи түрде сақтау мүмкін емес. Бұл UFS-ті қоса алғанда, кейбір жергілікті файлдық жүйелерге және ADSes қолдауы қосылмаған SMB томдарына жазу кезінде де дұрыс. Мұндай жағдайларда macOS метадеректер мен ресурстық бұрамаларды AppleDouble деп аталатын әдіс арқылы сақтайды. Бұл әдісте деректер бұрамасы бір файл ретінде жазылады, ал ресурстық бұрама мен метадеректер ". " префиксімен басталатын толығымен бөлек файл ретінде жазылады. Мысалы: ExampleFile.psd деректер бұрамасын қамтиды, ал ExampleFile.psd ресурстық бұрама мен метадеректерді қамтиды. Үйлесімсіздік проблемалары туындауы мүмкін, өйткені macOS ресурстық бұрамаларды сақтауды macOS нұсқасына, параметрлеріне және файлдық жүйенің түріне байланысты әртүрліше басқарады. Мысалы, 10.5 және 10.6 клиенттерінің қосылған SMB желісінде. Жаңа орнатылған 10.6 клиенті SMB томдарындағы ADSes-те ресурстық бұрамаларды іздейді және сақтайды, бірақ 10.5 клиенті (әдепкі бойынша) ADSes-ті елемейді және бұрамаларды басқару үшін AppleDouble форматын пайдаланады. Егер файл сервері AFP және NFS-ті де қолдайтын болса, онда NFS пайдаланатын клиенттер файлдарды AppleDouble форматында сақтайды, ал AFP пайдаланушылары ресурстық бұраманы табиғи түрде сақтайды. Мұндай жағдайларда кейде клиенттерді AppleDouble форматын пайдалануға немесе пайдаланбауға мәжбүрлеу арқылы үйлесімділікті сақтауға болады. AFP қолдауын ұсынатын көптеген файл серверлері жергілікті файлдық жүйелерінде ресурстық бұрамалар үшін әдепкі қолдау көрсетпейді. Мұндай жағдайларда бұрамалар арнайы атаумен файлдар, арнайы каталогтар немесе тіпті Alternate Data Streams сияқты арнайы тәсілдермен сақталуы мүмкін. Тағы бір қиындық – ресурстық бұрамаларды ресурстық бұрамаларды білмейтін қолданбаларды пайдалана отырып немесе электрондық пошта мен FTP сияқты белгілі бір беру әдістерін қолдана отырып файлдарды жібергенде сақтау болып табылады. Бұл үшін MacBinary және BinHex сияқты бірнеше файл форматтары жасалды. Командалық қатардағы SplitForks және FixupResourceForks құралдары ресурстық бұрамаларды қолмен тегістеуге және біріктіруге мүмкіндік береді. Сонымен қатар, Macintosh клиенттеріне файлдық жүйелерді ұсынуға тырысатын файл сервері файлдардың ресурстық бұрамасын, сондай-ақ деректер бұрамасын қабылдауы керек; AFP қолдауын ұсынатын UNIX серверлері әдетте мұны жасырын каталогтармен іске асырады. Carbon API-мен жазылған ескі қолданбалар қазіргі Intel Mac-қа көшірілгенде мәселе туындауы мүмкін. Ресурс менеджері мен операциялық жүйе 'snd' немесе 'moov' сияқты жалпы ресурстар үшін деректерді дұрыс сериядан шығаруды білсе де, TMPL ресурстарын пайдалана отырып құрылған ресурстар файлдың PPC және Intel негізделген нұсқалары арасындағы өзара іс-қимылды қамтамасыз ету үшін қолмен байтты ауыстыруды қажет етеді. (Ресурс картасы мен басқа да іске асыру егжей-тегжейлері үлкен мәнге ие болғанымен, Ресурс менеджерінің өзі жалпы ресурс мазмұны туралы ешқандай білімі жоқ, сондықтан байтты автоматты түрде ауыстыра алмайды.) Mac OS X v10.4 пайда болғанға дейін macOS-тағы стандартты UNIX командалық қатардағы құралдар (cp және mv сияқты) ресурстық бұрамаларды ескермеді. Ресурс бұрамалары бар файлдарды көшіру үшін ditto немесе CpMac және MvMac пайдалану қажет болды.
Басқа операциялық жүйелер
Графикалық нысандар ресурстарын басқарушы тұжырымы, жадты үнемдеу мақсатында, Smalltalk 76 бағдарламасындағы Xerox Alto-дағы OOZE жинағында пайда болды. Бұл тұжырым қазіргі заманғы барлық операциялық жүйелерде кеңінен қолданылады. Дегенмен, ресурстық тармақ тұжырымы Macintosh-қа ғана тән болып қала береді. Көптеген операциялық жүйелер ресурстарды қамтитын екілік файлды пайдаланды, ол кейіннен қолданыстағы бағдарлама файлының соңына "қосылды". Мысалы, Microsoft Windows осы шешімді қолданады, ал X Window System да ұқсас шешімдерді қолданады, бірақ ресурстар көбінесе жеке файл ретінде сақталады. Windows NT NTFS тармақтарды қолдай алады (және Mac файлдары үшін файл сервері ретінде жұмыс істей алады), бұл қолдауды қамтамасыз ететін тума мүмкіндік баламалы дерек ағыны деп аталады. Windows операциялық жүйесінің мүмкіндіктері (мысалы, Office емес файлдар үшін қасиеттер терезесіндегі стандартты шолу табы) және Windows қолданбалары оларды пайдаланады, ал Microsoft осы сияқты мүмкіндіктерге негізделген келесі буын файлдық жүйені әзірледі. BeOS-тің алғашқы нұсқалары файлдық жүйеде дерекқорын жүзеге асырды, оны ресурстық тармаққа ұқсас түрде пайдалануға болады. Орындалу мәселелері кейінірек күрделі файлдық жүйе атрибуттары жүйесіне өзгеруге әкелді. Бұл жүйеде ресурстар Mac-ке ұқсас тәсілмен басқарылды. AmigaOS тармақталған файлдарды пайдаланбайды. Оның орындалатын файлдары кодты, деректерді және қосымша ақпаратты сақтауға қабілетті үлкен бөліктерден (hunk) тұратын модульдік құрылымға бөлінеді. Сол сияқты, деректер мен жоба файлдарында IFF стандартында кодталған бөлік құрылымы бар. Басқа файл түрлері басқа операциялық жүйелерге ұқсас сақталады. AmigaOS ресурстық тармаққа жатпаса да, метадеректерді "ақпарат" файлдары деп аталатын файлдарда сақтайды. "Ақпарат" файлдарын .info кеңейтуімен анықтауға болады; мысалы, егер сіз жобаны дискіге сақтасаңыз, екі файл сақталады: MyProject және MyProject.info. MyProject жобаның нақты деректерін, ал MyProject.info жобаның белгішесін, жобаны ашу үшін қандай бағдарлама қажет екендігі туралы ақпаратты (AmigaOS-та қосымшаның байланысы болмайтындықтан), арнайы жоба параметрлерін және кез келген пайдаланушы пікірлерін қамтиды. "Ақпарат" файлдары Amiga жұмыс үстелінде (Workbench) көрінбейді. Жұмыс үстеліндегі белгіше, ақпараттың өзінен алынған, пайдаланушы интерфейсінің метафорасы арқылы жобаның өзімен және оның байланысты "ақпарат" файлымен өзара әрекеттесуді қамтамасыз етеді. Белгішені оң жақ батырмамен түртіп, қолжетімді әрекеттер терезесі пайдаланушыға "ақпарат" файлындағы метадеректерді көруге және өзгертуге мүмкіндік береді. "Ақпарат" файлдарын командалық жол интерфейсінде немесе файлдық басқарушыда жеке файлдар ретінде көруге болады. Қазіргі AmigaOS клондары (AROS, MorphOS және AOS4) AmigaOS-тің ескі нұсқаларының "ақпарат" файлдарының құрылымын (метадеректермен бірге) мұралайды және сонымен қатар стандартты PNG графикалық файлдарын олардың "ақпарат" файлдарында белгішелік биттік карталар ретінде қабылдай алады. NeXT операциялық жүйелері NeXTSTEP және олардың мұрагері OPENSTEP, macOS және RISC OS сияқты басқа жүйелер басқа шешімді жүзеге асырды. Бұл жүйелерде ресурстар бастапқы форматта сақталады, мысалы, суреттер контейнерге кодталғаннан гөрі толыққанды TIFF файлдары ретінде қосылады. Бұл ресурстар орындалатын код пен "шикі деректермен" бірге каталогқа орналастырылады. Каталог ("жинақ" немесе "қосымша каталогы" деп аталады) пайдаланушыға қосымша ретінде ұсынылады. Бұл шешім ресурстық тармақ сияқты барлық функционалдықты қамтамасыз етеді, бірақ ресурстарды кез келген қосымшамен оңай өңдеуге мүмкіндік береді, "ресурс редакторы" (ResEdit сияқты) қажет емес. Командалық жол интерфейсінен жинақ қалыпты каталог сияқты көрінеді. Бұл тәсіл классикалық Mac OS-де мүмкін емес еді, өйткені файлдық жүйе (MFS) жеке каталогтарды қолдамады. Каталог файлдарын қолдау Mac OS-ке енгізілген кезде HFS файлдық жүйесімен ресурстық тармақ сақталды. macOS классикалық ресурс менеджерін API-ді кері үйлесімділік үшін өзінің Carbon кітапханаларының бөлігі ретінде сақтайды. Алайда, ресурстардың өзі қазір файлдық жүйедегі жеке деректер файлдарында сақталуы мүмкін. Ресурс менеджері енді бұл жүзеге асыруды клиенттік кодтан жасырады.